Pour créer et récupérer des ressources Kubernetes personnalisées, vous devez utiliser RESTClient et spécifier le chemin et la version de l'API de la ressource personnalisée.
Pour créer une ressource personnalisée, telle qu'un KongPlugin, vous pouvez utiliser le code suivant :
<code class="go">import "k8s.io/client-go/rest" func CreateCustomResource() error { // Construct the full path to the custom resource absPath := "/apis/configuration.konghq.com/v1/namespaces/default/kongplugins" // Marshal the custom resource data into a byte array body, err := json.Marshal(customResource) if err != nil { return err } // Create a RESTClient using in-cluster configuration confs, err := rest.InClusterConfig() if err != nil { return err } client, err := rest.RESTClientFor(confs) if err != nil { return err } // Make a POST request to create the custom resource _, err = client.Post().AbsPath(absPath).Body(body).DoRaw() if err != nil { return err } return nil }</code>
Pour récupérer une ressource personnalisée, vous pouvez utiliser le code suivant :
<code class="go">import "k8s.io/client-go/rest" func GetCustomResource() (*CustomResource, error) { // Construct the full path to the custom resource absPath := "/apis/configuration.konghq.com/v1/namespaces/default/kongplugins/kongplugin-sample" // Create a RESTClient using in-cluster configuration confs, err := rest.InClusterConfig() if err != nil { return nil, err } client, err := rest.RESTClientFor(confs) if err != nil { return nil, err } // Make a GET request to retrieve the custom resource data, err := client.Get().AbsPath(absPath).DoRaw() if err != nil { return nil, err } // Unmarshal the JSON response into the custom resource object customResource := &CustomResource{} if err := json.Unmarshal(data, customResource); err != nil { return nil, err } return customResource, nil }</code>
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!