Kubernetes Go ライブラリの入門: シンプルなクライアント アプリケーション
Kubernetes を使用する場合、Go ライブラリは対話用の便利なインターフェイスを提供しますAPIを使用して。ただし、ドキュメントやサンプルがライブラリの最新バージョンと同期していない場合があります。これに対処するために、開始方法を示す簡単な例を見てみましょう。
目的: Service オブジェクトを名前で取得し、その属性 (nodePort など) を出力します。
解決策:
実験して Kubernetes Slack チャネルからのガイダンスを求めた後、次のコード スニペットは実際の例を提供します。
<code class="go">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) } }</code>
実装:
注: 可能ですが、 RESTful API を使用して同じ結果を達成するには、Go ライブラリを利用すると、より合理化された慣用的なコードが可能になります。
以上がKubernetes Go ライブラリを使用して Service オブジェクトを名前で取得し、その属性を出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。