ホームページ >バックエンド開発 >Golang >Go クライアント ライブラリを使用してカスタム Kubernetes リソースを作成および取得するにはどうすればよいですか?

Go クライアント ライブラリを使用してカスタム Kubernetes リソースを作成および取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-31 22:25:02787ブラウズ

How to Create and Retrieve Custom Kubernetes Resources using the Go Client Library?

Go でのカスタム Kubernetes リソースの作成と取得

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()注:

  • AbsPath() メソッドは、Kubernetes リソースへの完全な絶対パスを取得します。
  • リソースの絶対パスを見つけるには、kubectl get
  • または、API グループ、バージョン、名前空間、リソース タイプを含めてパスを手動で指定することもできます。

以上がGo クライアント ライブラリを使用してカスタム Kubernetes リソースを作成および取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。