簡介:
自訂Kubernetes 資源擴充了Kubernetes 資源擴充的功能管理特定於應用程式的物件。本文示範如何在 Go(Kubernetes 開發常用的程式語言)中建立和擷取自訂資源。
要建立自訂資源,您需要:
定義自訂資源定義(CRD):
在 Go 程式碼中實作資源的邏輯:
使用 Kubernetes RESTClient 與 API 互動:
<code class="go">kongPlugin := &KongPlugin{ TypeMeta: metav1.TypeMeta{ APIVersion: "configuration.konghq.com/v1", Kind: "KongPlugin", }, ObjectMeta: metav1.ObjectMeta{ Name: "add-response-header", Namespace: "default", }, Config: KongPluginConfig{ Add: KongPluginAdd{ Headers: []string{"demo: injected-by-kong"}, }, }, Plugin: "response-transformer", } body, err := json.Marshal(kongPlugin) if err != nil { // Handle error } data, err := clientset.RESTClient(). Post(). AbsPath("/apis/configuration.konghq.com/v1/namespaces/default/kongplugins"). Body(body). DoRaw(context.TODO()) if err != nil { // Handle error }</code>
要擷取自訂資源,您需要:
<code class="go">data, err := clientset.RESTClient(). Get(). AbsPath("/apis/configuration.konghq.com/v1/namespaces/default/kongplugins/add-response-header"). DoRaw(context.TODO()) if err != nil { // Handle error }</code>
資料變數將包含來自 API 的原始 JSON 回應,您可以解析該回應存取自訂資源的詳細資訊。
以上是如何使用 Go 建立和檢索自訂 Kubernetes 資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!