スポンサーリンク

client-goのexampleであるout-of-cluster-client-configurationを動かしてみる

client-go
この記事は約3分で読めます。

初めに

client-goを使ってみたいと思っていたら素晴らしいexampleが揃っていたので動かしたときのメモを残しておく。

 

こちらはkubernetesクラスタの外側から動かす方法

 

client-go/examples/out-of-cluster-client-configuration at release-1.21 · kubernetes/client-go
Go client for Kubernetes. Contribute to kubernetes/client-go development by creating an account on GitHub.

kindの準備

動作確認用のkubernetesとしてkindを使う。

 

各種version

$ go version
go version go1.16.8 linux/amd64

$ kind version
kind v0.11.1 go1.16.4 linux/amd64

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.5", GitCommit:"aea7bbadd2fc0cd689de94a54e5b7b758869d691", GitTreeState:"clean", BuildDate:"2021-09-15T21:10:45Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1", GitCommit:"5e58841cce77d4bc13713ad2b91fa0d961e69192", GitTreeState:"clean", BuildDate:"2021-05-21T23:01:33Z", GoVersion:"go1.16.4", Compiler:"gc", Platform:"linux/amd64"}

 

起動

kind起動させたらとりあえずnginxをdeploy

kubectl create deployment nginx --image=nginx

 

 

client-go/main.go at release-1.21 · kubernetes/client-go
Go client for Kubernetes. Contribute to kubernetes/client-go development by creating an account on GitHub.

ここにあるexample-xxxxxをnginxのpodに変更するだけ。

pod := "example-xxxxx"

 

結果

$ kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-6799fc88d8-sh765   1/1     Running   0          73m

$ go run main.go 
There are 10 pods in the cluster
Found pod nginx-6799fc88d8-sh765 in namespace default
There are 10 pods in the cluster
Found pod nginx-6799fc88d8-sh765 in namespace default
There are 10 pods in the cluster
Found pod nginx-6799fc88d8-sh765 in namespace default
^Csignal: interrupt

10秒ごとにメッセージが出続ける様子。

Ctrl + Cで抜けておしまい。

 

タイトルとURLをコピーしました