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

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

DDD
DDDOriginal
2024-10-29 01:26:30859Durchsuche

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>

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>

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>

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!

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