Création et récupération de ressources Kubernetes personnalisées
Introduction
La gestion des ressources Kubernetes personnalisées dans le code nécessite comprendre les mécanismes spécifiques de création et de récupération. Cet article montre comment créer et obtenir des ressources personnalisées pour Kong in Go, en abordant les défis courants rencontrés lorsque l'on travaille avec des types de ressources non standard.
Création d'une ressource personnalisée
Pour créer une ressource personnalisée, telle qu'un KongPlugin, le code suivant peut être utilisé :
<code class="go">body, err := json.Marshal(&KongPlugin{ TypeMeta: metav1.TypeMeta{ APIVersion: "configuration.konghq.com/v1", Kind: "KongPlugin", }, ObjectMeta: metav1.ObjectMeta{ Name: "add-response-header", Namespace: "<namespace>", }, Config: KongPluginConfig{ Add: KongPluginConfigAdd{ Headers: []string{"demo: injected-by-kong"}, }, }, Plugin: "response-transformer", }) data, err := clientset.RESTClient(). Post(). AbsPath("/apis/configuration.konghq.com/v1/namespaces/<namespace>/kongplugins"). Body(body). DoRaw(context.TODO())</code>
Ici, les données KongPlugin sont rassemblées et envoyées comme corps de la requête. La fonction AbsPath fournit le chemin d'accès au point de terminaison API de la ressource personnalisée.
Récupération d'une ressource personnalisée
Pour récupérer une ressource personnalisée, le code suivant peut être utilisé :
<code class="go">data, err := clientset.RESTClient(). Get(). AbsPath("/apis/configuration.konghq.com/v1/namespaces/<namespace>/kongplugins/kongplugin-sample"). DoRaw(context.TODO())</code>
La fonction AbsPath fournit à nouveau le chemin d'accès au point de terminaison de l'API de la ressource personnalisée. Les données renvoyées contiennent les données brutes de la ressource.
Erreurs de dépannage
Si la récupération échoue avec une erreur telle que "le serveur n'a pas pu trouver la ressource demandée ( get KongPlugin)", assurez-vous que les étapes suivantes sont suivies :
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!