Maison > développement back-end > Golang > 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
Libérer: 2024-10-31 22:25:02
original
789 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal