Erstellen und Abrufen benutzerdefinierter Kubernetes-Ressourcen
Einführung
Das Verwalten benutzerdefinierter Kubernetes-Ressourcen im Code erfordert Verständnis der spezifischen Mechanismen für die Erstellung und den Abruf. Dieser Artikel zeigt, wie Sie benutzerdefinierte Ressourcen für Kong in Go erstellen und abrufen und geht dabei auf häufige Herausforderungen ein, die bei der Arbeit mit nicht standardmäßigen Ressourcentypen auftreten.
Erstellen einer benutzerdefinierten Ressource
Um eine benutzerdefinierte Ressource wie ein KongPlugin zu erstellen, kann der folgende Code verwendet werden:
<code class="go">body, err := json.Marshal(&KongPlugin{ TypeMeta: metav1.TypeMeta{ APIVersion: "configuration.konghq.com/v1", Kind: "KongPlugin", }, ObjectMeta: metav1.ObjectMeta{ Name: "add-response-header", Namespace: "<namespace>", }, Config: KongPluginConfig{ Add: KongPluginConfigAdd{ Headers: []string{"demo: injected-by-kong"}, }, }, Plugin: "response-transformer", }) data, err := clientset.RESTClient(). Post(). AbsPath("/apis/configuration.konghq.com/v1/namespaces/<namespace>/kongplugins"). Body(body). DoRaw(context.TODO())</code>
Hier werden die KongPlugin-Daten gemarshallt und als Hauptteil der Anfrage gesendet. Die AbsPath-Funktion stellt den Pfad zum API-Endpunkt der benutzerdefinierten Ressource bereit.
Abrufen einer benutzerdefinierten Ressource
Um eine benutzerdefinierte Ressource abzurufen, kann der folgende Code verwendet werden:
<code class="go">data, err := clientset.RESTClient(). Get(). AbsPath("/apis/configuration.konghq.com/v1/namespaces/<namespace>/kongplugins/kongplugin-sample"). DoRaw(context.TODO())</code>
Die AbsPath-Funktion stellt erneut den Pfad zum API-Endpunkt der benutzerdefinierten Ressource bereit. Die zurückgegebenen Daten enthalten die Rohdaten der Ressource.
Fehlerbehebung
Wenn der Abruf mit einem Fehler wie „Der Server konnte die angeforderte Ressource nicht finden“ fehlschlägt ( get KongPlugin)“, stellen Sie sicher, dass die folgenden Schritte ausgeführt werden:
Das obige ist der detaillierte Inhalt vonWie erstellt und ruft man benutzerdefinierte Kubernetes-Ressourcen wie KongPlugins in Go ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!