「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Go ライブラリを使用して Kubernetes Service オブジェクトを取得するにはどうすればよいですか?

Go ライブラリを使用して Kubernetes Service オブジェクトを取得するにはどうすればよいですか?

2024 年 11 月 5 日に公開
ブラウズ:954

How to Retrieve a Kubernetes Service Object Using the Go Library?

Kubernetes Go ライブラリを使用したシンプルなクライアント アプリの作成

Kubernetes Go ライブラリを使い始める際に直面する課題にもかかわらず、例を次に示します。 Service オブジェクトを名前で取得し、その属性を表示するという単純なタスクの使用法を示すものが利用可能です。

例の使用方法

提供された例には、必要な要素が含まれていますKubernetes API と対話するためのパッケージ。まず、client.Config オブジェクトを作成して、Kubernetes API サーバーへの接続を確立します。次に、New 関数を使用してクライアントをインスタンス化し、config オブジェクトを渡します。

Service オブジェクトを取得するには、client.Services インターフェイスの Get メソッドを使用します。取得するサービスの名前空間と名前を指定します。 Service オブジェクトを取得したら、その名前、ポート、nodePort などの属性を出力できます。

コード サンプル

package main

import (
    "fmt"
    "log"

    "github.com/kubernetes/kubernetes/pkg/api"
    client "github.com/kubernetes/kubernetes/pkg/client/unversioned"
)

func main() {

    config := client.Config{
        Host: "http://my-kube-api-server.me:8080",
    }
    c, err := client.New(&config)
    if err != nil {
        log.Fatalln("Can't connect to Kubernetes API:", err)
    }

    s, err := c.Services(api.NamespaceDefault).Get("some-service-name")
    if err != nil {
        log.Fatalln("Can't get service:", err)
    }
    fmt.Println("Name:", s.Name)
    for p, _ := range s.Spec.Ports {
        fmt.Println("Port:", s.Spec.Ports[p].Port)
        fmt.Println("NodePort:", s.Spec.Ports[p].NodePort)
    }
}

この例は、Go ライブラリを通じて Kubernetes API と対話するための開始点を提供します。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3