はじめに
引き続きclient-goのexampleを動かしてみる。
今回はworkqueue。
client-go/examples/workqueue at release-1.21 · kubernetes/client-go
Go client for Kubernetes. Contribute to kubernetes/client-go development by creating an account on GitHub.
kubernetes クラスタの外からアクセスするのでskaffoldは使わない。
準備
kindを使う。
各versionはこちら参照

client-goのexampleであるout-of-cluster-client-configurationを動かしてみる
初めに
client-goを使ってみたいと思っていたら素晴らしいexampleが揃っていたので動かしたときのメモを残しておく。
こちらはkubernetesクラスタの外側から動かす方法
kindの準備
動...
起動
kind起動させてテスト用のnginxを作成しておく。
kubectl create deployment nginx --image=nginx
その後以下コマンド
go run main.go -kubeconfig=$HOME/.kube/config
結果
$ kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-6799fc88d8-dl25z 1/1 Running 0 11s
$ go run main.go -kubeconfig=$HOME/.kube/config
I1104 21:43:39.780312 11109 main.go:124] Starting Pod controller
Sync/Add/Update for Pod nginx-6799fc88d8-dl25z
Pod default/mypod does not exist anymore
以降main.goはそのまま放置。
別窓たててpod nginx-6799fc88d8-dl25zを削除してみる
※別窓
$ kubectl delete pod nginx-6799fc88d8-dl25z
pod "nginx-6799fc88d8-dl25z" deleted
Sync/Add/Update for Pod nginx-6799fc88d8-dl25z
Sync/Add/Update for Pod nginx-6799fc88d8-pdnqk
Sync/Add/Update for Pod nginx-6799fc88d8-pdnqk
Sync/Add/Update for Pod nginx-6799fc88d8-pdnqk
Sync/Add/Update for Pod nginx-6799fc88d8-dl25z
Sync/Add/Update for Pod nginx-6799fc88d8-pdnqk
Sync/Add/Update for Pod nginx-6799fc88d8-dl25z
Pod default/nginx-6799fc88d8-dl25z does not exist anymore
次はreplicasを1から2にしてみる。
※別窓
$ kubectl patch deployment nginx -p '{"spec":{"replicas":2}}'
deployment.apps/nginx patched
$ k get pod
NAME READY STATUS RESTARTS AGE
nginx-6799fc88d8-mhncp 1/1 Running 0 2m6s
nginx-6799fc88d8-pdnqk 1/1 Running 0 28m
Sync/Add/Update for Pod nginx-6799fc88d8-mhncp
Sync/Add/Update for Pod nginx-6799fc88d8-mhncp
Sync/Add/Update for Pod nginx-6799fc88d8-mhncp
Sync/Add/Update for Pod nginx-6799fc88d8-mhncp
最後にdeployment nginxの削除
※別窓$ kubectl delete deployments.apps nginx
deployment.apps "nginx" deleted
Sync/Add/Update for Pod nginx-6799fc88d8-pdnqk
Sync/Add/Update for Pod nginx-6799fc88d8-mhncp
Sync/Add/Update for Pod nginx-6799fc88d8-mhncp
Sync/Add/Update for Pod nginx-6799fc88d8-pdnqk
Sync/Add/Update for Pod nginx-6799fc88d8-pdnqk
Pod default/nginx-6799fc88d8-pdnqk does not exist anymore
Sync/Add/Update for Pod nginx-6799fc88d8-mhncp
Pod default/nginx-6799fc88d8-mhncp does not exist anymore