Untuk mencipta dan mendapatkan semula sumber Kubernetes tersuai, anda perlu menggunakan RESTClient dan menentukan laluan dan versi API sumber tersuai.
Untuk mencipta sumber tersuai, seperti KongPlugin, anda boleh menggunakan kod berikut:
<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>
Untuk mendapatkan semula sumber tersuai, anda boleh menggunakan kod berikut:
<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>
Atas ialah kandungan terperinci Bagaimana untuk Mencipta dan Mendapatkan Sumber Kubernetes Tersuai menggunakan RESTClient?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!