在 Kubernetes 中,您可以定义和管理自定义资源,从而扩展平台的功能。可以使用 Go 客户端库以编程方式完成创建和获取自定义资源。
要创建自定义资源(例如 KongPlugin),您需要使用 RESTClient Kubernetes 客户端集。操作方法如下:
<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>
要检索自定义资源,您可以使用 RESTClient 的 Get() 方法:
<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>
AbsPath() 注意:
以上是如何使用 Go 客户端库创建和检索自定义 Kubernetes 资源?的详细内容。更多信息请关注PHP中文网其他相关文章!