Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle und rufe ich benutzerdefinierte Kubernetes-Ressourcen mithilfe der Go-Client-Bibliothek ab?

Wie erstelle und rufe ich benutzerdefinierte Kubernetes-Ressourcen mithilfe der Go-Client-Bibliothek ab?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-31 22:25:02694Durchsuche

How to Create and Retrieve Custom Kubernetes Resources using the Go Client Library?

Benutzerdefinierte Kubernetes-Ressourcen in Go erstellen und abrufen

In Kubernetes können Sie benutzerdefinierte Ressourcen definieren und verwalten, die die Funktionen der Plattform erweitern. Das Erstellen und Abrufen benutzerdefinierter Ressourcen kann programmgesteuert mithilfe der Go-Clientbibliothek erfolgen.

Erstellen einer benutzerdefinierten Ressource

Um eine benutzerdefinierte Ressource wie das KongPlugin zu erstellen, müssen Sie den RESTClient von verwenden das Kubernetes-Clientset. So geht's:

<code class="go">// Create a KongPlugin custom resource.
kongPlugin := &KongPlugin{
    TypeMeta: metav1.TypeMeta{
        APIVersion: "configuration.konghq.com/v1",
        Kind:       "KongPlugin",
    },
    ObjectMeta: metav1.ObjectMeta{
        Name: "add-response-header",
    },
    Config: KongPluginConfig{
        Add: KongPluginConfigAdd{
            Headers: []string{"demo: injected-by-kong"},
        },
    },
    Plugin: "response-transformer",
}

body, err := json.Marshal(kongPlugin)
if err != nil {
    panic(err)
}

data, err := clientset.RESTClient().
    Post().
    AbsPath("/apis/configuration.konghq.com/v1/namespaces/" + namespace + "/kongplugins").
    Body(body).
    DoRaw(context.TODO())</code>

Eine benutzerdefinierte Ressource abrufen

Um eine benutzerdefinierte Ressource abzurufen, können Sie die Get()-Methode des RESTClient verwenden:

<code class="go">// Get the KongPlugin custom resource.
data, err := clientset.RESTClient().
    Get().
    AbsPath("/apis/configuration.konghq.com/v1/namespaces/" + namespace + "/kongplugins/add-response-header").
    DoRaw(context.TODO())</code>

AbsPath() Hinweise:

  • Die AbsPath()-Methode verwendet den vollständigen absoluten Pfad zur Kubernetes-Ressource.
  • Um den absoluten Pfad der Ressource zu ermitteln, verwenden Sie kubectl get -o=jsonpath='{$.metadata.selfLink}'.
  • Alternativ können Sie den Pfad manuell angeben, indem Sie die API-Gruppe, Version, den Namespace und den Ressourcentyp angeben.

Das obige ist der detaillierte Inhalt vonWie erstelle und rufe ich benutzerdefinierte Kubernetes-Ressourcen mithilfe der Go-Client-Bibliothek ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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