Maison  >  Article  >  développement back-end  >  Comment créer et récupérer des ressources Kubernetes personnalisées à l'aide de la bibliothèque client Go ?

Comment créer et récupérer des ressources Kubernetes personnalisées à l'aide de la bibliothèque client Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-31 22:25:02694parcourir

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

Création et récupération de ressources Kubernetes personnalisées dans Go

Dans Kubernetes, vous pouvez définir et gérer des ressources personnalisées, qui étendent les capacités de la plateforme. La création et l'obtention de ressources personnalisées peuvent être effectuées par programme à l'aide de la bibliothèque client Go.

Création d'une ressource personnalisée

Pour créer une ressource personnalisée telle que KongPlugin, vous devrez utiliser le RESTClient de l'ensemble de clients Kubernetes. Voici comment procéder :

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

Récupérer une ressource personnalisée

Pour récupérer une ressource personnalisée, vous pouvez utiliser la méthode Get() du RESTClient :

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

Remarques sur AbsPath() :

  • La méthode AbsPath() prend le chemin absolu complet vers la ressource Kubernetes.
  • Pour trouver le chemin absolu de la ressource, utilisez kubectl get -o=jsonpath='{$.metadata.selfLink}'.
  • Vous pouvez également spécifier le chemin manuellement en incluant le groupe d'API, la version, l'espace de noms et le type de ressource.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn