Kubernetes YAML ファイルを Go 構造体に逆シリアル化する
Kubernetes YAML ファイルを Go 構造体に逆シリアル化しようとすると、「種類」が登録されていません。これを解決するには、適切なスキーマ パッケージをインポートします。
上記の例では、「種類 'Deployment' がバージョン 'apps/v1beta1' に登録されていません」というエラー メッセージは、スキーマが "Deployment" 種類であることを示唆しています。認識されません。これを修正するには、「_ 'k8s.io/client-go/pkg/apis/extensions/install'」をインポートします。
この修正を組み込んだサンプル コードの修正バージョンを次に示します:
<code class="go">package main import ( "fmt" "k8s.io/client-go/pkg/api" _ "k8s.io/client-go/pkg/api/install" _ "k8s.io/client-go/pkg/apis/extensions/install" ) ...</code>
さらに、他のリソース タイプを逆シリアル化するときにエラーが発生した場合は、対応するスキーマ パッケージもインポートしてください。
たとえば、「Service」オブジェクトを逆シリアル化するには、インポートする必要があります。 _ 'k8s.io/client-go/pkg/apis/core/install'."
正しいスキーマ パッケージをインポートすると、必要なタイプとスキーマが Kubernetes クライアントに確実に登録され、正常にインストールできるようになります。 YAML ファイルの逆シリアル化。
以上がKubernetes YAML を Go 構造体に逆シリアル化するときに発生する「種類が登録されていません」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。