Menyahserialisasi Fail YAML Kubernetes ke dalam Go Structs
Menyahserialisasi fail YAML Kubernetes ke dalam struct Go membolehkan anda bekerja dengan manifes Kubernetes secara pemprograman. Walau bagaimanapun, menghadapi ralat seperti "tiada jenis "Deployment" didaftarkan untuk versi "apps/v1beta1"" boleh mengecewakan.
Untuk menangani isu ini, anda perlu mengimport pakej skema yang sesuai untuk memastikan bahawa deserializer mempunyai akses kepada maklumat jenis untuk objek Kubernetes tertentu. Dalam kes ini, untuk penempatan dengan versi "apps/v1beta1", anda perlu mengimport "_ k8s.io/client-go/pkg/apis/extensions/install".
<code class="go">import _ "k8s.io/client-go/pkg/apis/extensions/install"</code>
Setelah skema diimport, penyahserialisasi akan dapat mengenali jenis dan versi "Pengedaran" dan menyahsiri fail YAML dengan betul. Kod yang diperbetulkan:
<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" ) var service = ` apiVersion: apps/v1beta1 kind: Deployment metadata: name: my-nginx spec: replicas: 2 template: metadata: labels: run: my-nginx spec: containers: - name: my-nginx image: nginx ports: - containerPort: 80 ` func main() { decode := api.Codecs.UniversalDeserializer().Decode obj, _, err := decode([]byte(service), nil, nil) if err != nil { panic(err) } fmt.Printf("%#v\n", obj) }</code>
Penyelesaian ini juga digunakan pada jenis sumber lain. Sebagai contoh, jika menghadapi ralat serupa dengan Perkhidmatan, anda akan mengimport "_ k8s.io/client-go/pkg/apis/core/install".
Mengimport pakej skema yang sesuai adalah penting untuk penyahserikatan yang berjaya bagi Fail YAML Kubernetes. Dengan berbuat demikian, anda boleh memastikan bahawa anda mempunyai akses kepada maklumat jenis yang diperlukan untuk menukar manifes YAML kepada struct Go.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'tiada jenis \'Deployment\' didaftarkan untuk versi \'apps/v1beta1\'\' Ralat Apabila Menyahseri Fail YAML Kubernetes dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!