Heim > Backend-Entwicklung > Golang > Wie erstelle und erhalte ich benutzerdefinierte Kubernetes-Ressourcen mit RESTClient?

Wie erstelle und erhalte ich benutzerdefinierte Kubernetes-Ressourcen mit RESTClient?

DDD
Freigeben: 2024-10-29 01:26:30
Original
955 Leute haben es durchsucht

How do I Create and Get Custom Kubernetes Resources using RESTClient?

Erstellen/Abrufen einer benutzerdefinierten Kubernetes-Ressource

Erstellen einer benutzerdefinierten Kubernetes-Ressource

Um eine benutzerdefinierte Kubernetes-Ressource zu erstellen, z Verwenden Sie wie im KongPlugin-Beispiel angegeben die Methode RESTClient(), um den Pfad zur Ressource anzugeben. Sie können die Fluent-Schnittstelle verwenden:

<code class="go">data, err := clientset.RESTClient().
        Get().
        AbsPath("/apis/<api>/<version>").
        Namespace("<namespace>").
        Resource("kongplugins").
        Name("kongplugin-sample").
        DoRaw(context.TODO())</code>
Nach dem Login kopieren

Oder geben Sie den Pfad manuell an:

<code class="go">data, err := clientset.RESTClient().
        Get().
        AbsPath("/apis/<api>/<version>/namespaces/<namespace>/kongplugins/kongplugin-sample").
        DoRaw(context.TODO())</code>
Nach dem Login kopieren

Sie finden den AbsPath im Selbstlink der benutzerdefinierten Ressource.

Eine benutzerdefinierte Kubernetes-Ressource abrufen

Um eine benutzerdefinierte Kubernetes-Ressource abzurufen, verwenden Sie in ähnlicher Weise die RESTClient()-Methode, um den Pfad zur Ressource anzugeben. Marshallen Sie die zu veröffentlichenden Daten mit dem JSON-Paket und verwenden Sie die Body()-Methode zum Senden der Daten:

<code class="go">kongPlugin := &KongPlugin{
        TypeMeta: metav1.TypeMeta{
            APIVersion: "<api>/<version>",
            Kind:       "KongPlugin",
        },
        ObjectMeta: metav1.ObjectMeta{
            Name:      "kongplugin-sample",
            Namespace: "<namespace>",
        },
        ...}}

body, err := json.Marshal(kongPlugin)

data, err := clientset.RESTClient().
        Post().
        AbsPath("/apis/<api>/<version>/namespaces/<namespace>/kongplugins").
        Body(body).
        DoRaw(context.TODO())</code>
Nach dem Login kopieren

Beachten Sie, dass das Argument der Body()-Methode eine leere Schnittstelle ist, die Sie verwenden können verschiedene Arten von Argumenten gemäß der Kubernetes-Dokumentation.

Das obige ist der detaillierte Inhalt vonWie erstelle und erhalte ich benutzerdefinierte Kubernetes-Ressourcen mit RESTClient?. 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