Heim > Backend-Entwicklung > Golang > Wie behebe ich „No Kind Registered'-Fehler beim Deserialisieren von Kubernetes YAML in Go-Strukturen?

Wie behebe ich „No Kind Registered'-Fehler beim Deserialisieren von Kubernetes YAML in Go-Strukturen?

DDD
Freigeben: 2024-11-02 00:09:31
Original
1033 Leute haben es durchsucht

How to Resolve

Deserialisieren von Kubernetes-YAML-Dateien in Go-Strukturen

Beim Versuch, Kubernetes-YAML-Dateien in Go-Strukturen zu deserialisieren, können Fehler auftreten, die darauf hinweisen, dass ein „ Art“ ist nicht registriert. Um dieses Problem zu beheben, importieren Sie das entsprechende Schemapaket.

Im bereitgestellten Beispiel deutet die Fehlermeldung „Keine Art ‚Bereitstellung‘ ist für Version ‚apps/v1beta1‘ registriert“ darauf hin, dass das Schema für die Art „Bereitstellung“ bestimmt ist wird nicht erkannt. Um dies zu beheben, importieren Sie „_ 'k8s.io/client-go/pkg/apis/extensions/install'.“

Hier ist eine modifizierte Version des Beispielcodes, der diesen Fix enthält:

<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>
Nach dem Login kopieren

Wenn beim Deserialisieren anderer Ressourcentypen außerdem Fehler auftreten, stellen Sie sicher, dass Sie auch die entsprechenden Schemapakete importieren.

Um beispielsweise ein „Service“-Objekt zu deserialisieren, müssten Sie „ _ 'k8s.io/client-go/pkg/apis/core/install'.“

Durch den Import der richtigen Schemapakete stellen Sie sicher, dass die erforderlichen Typen und Schemata beim Kubernetes-Client registriert sind, was eine erfolgreiche Aktivierung ermöglicht Deserialisierung Ihrer YAML-Dateien.

Das obige ist der detaillierte Inhalt vonWie behebe ich „No Kind Registered'-Fehler beim Deserialisieren von Kubernetes YAML in Go-Strukturen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage