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

RESTClient を使用してカスタム Kubernetes リソースを作成および取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-29 01:26:30931ブラウズ

How do I Create and Get Custom Kubernetes Resources using RESTClient?

カスタム Kubernetes リソースの作成/取得

カスタム Kubernetes リソースの作成

次のようなカスタム Kubernetes リソースを作成するには提供されている KongPlugin の例のように、RESTClient() メソッドを使用してリソースへのパスを指定します。滑らかなインターフェイスを使用できます:

<code class="go">data, err := clientset.RESTClient().
        Get().
        AbsPath("/apis/<api>/<version>").
        Namespace("<namespace>").
        Resource("kongplugins").
        Name("kongplugin-sample").
        DoRaw(context.TODO())</code>

または、パスを手動で指定します:

<code class="go">data, err := clientset.RESTClient().
        Get().
        AbsPath("/apis/<api>/<version>/namespaces/<namespace>/kongplugins/kongplugin-sample").
        DoRaw(context.TODO())</code>

カスタム リソースのセルフリンクで AbsPath を見つけることができます。

カスタム Kubernetes リソースの取得

同様に、カスタム Kubernetes リソースを取得するには、RESTClient() メソッドを使用してリソースへのパスを指定します。 json パッケージを使用して投稿するデータをマーシャリングし、Body() メソッドを使用してデータを送信します。

<code class="go">kongPlugin := &KongPlugin{
        TypeMeta: metav1.TypeMeta{
            APIVersion: "<api>/<version>",
            Kind:       "KongPlugin",
        },
        ObjectMeta: metav1.ObjectMeta{
            Name:      "kongplugin-sample",
            Namespace: "<namespace>",
        },
        ...}}

body, err := json.Marshal(kongPlugin)

data, err := clientset.RESTClient().
        Post().
        AbsPath("/apis/<api>/<version>/namespaces/<namespace>/kongplugins").
        Body(body).
        DoRaw(context.TODO())</code>

Body() メソッドの引数は空のインターフェイスであることに注意してください。 Kubernetes ドキュメントによると、さまざまなタイプの引数。

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

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