Home > Article > Backend Development > How to Create and Retrieve Custom Kubernetes Resources using RESTClient?
For creating and retrieving custom Kubernetes resources, you need to use the RESTClient and specify the custom resource's API path and version.
To create a custom resource, such as a KongPlugin, you can use the following code:
<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>
To retrieve a custom resource, you can use the following code:
<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>
The above is the detailed content of How to Create and Retrieve Custom Kubernetes Resources using RESTClient?. For more information, please follow other related articles on the PHP Chinese website!