概要:
カスタム Kubernetes リソースは、Kubernetes API の機能を拡張します。アプリケーション固有のオブジェクトを管理します。この記事では、Kubernetes 開発で一般的に使用されるプログラミング言語である Go でカスタム リソースを作成および取得する方法を説明します。
カスタム リソースを作成するには、次の手順を実行する必要があります。
カスタム リソース定義 (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 中国語 Web サイトの他の関連記事を参照してください。