ステージング環境見たいなそんなに高頻度に更新がされないかつコンフリクトがあんまり無いフェーズでのテストではなく開発中に小さい単位でmanifestをapplyしてみたいケースがあるとします。
その場合開発者がそれぞれkindをローカルに持つといった解決策があるかと思いますがkindのバージョンが開発者間で違ったりkindで使ってるコンテナランタイムに差分が出たりする場合なんかもあります。それを解決する案としてkindをGitHub Actions上で動かすActions が公開されていたので使ってみました。
サンプルyaml
- uses: engineerd/setup-kind@v0.5.0 with: config: .github/kind_config.yml image: kindest/node:v1.20.0 - name: Print Kube info run: | kubectl cluster-info kubectl get node -o wide kubectl get pods -o wide -n kube-system kubectl version echo "current-context:" $(kubectl config current-context) echo "environment-kubeconfig:" ${KUBECONFIG}
こんな感じでusesにkindのactionsを指定して引数にk8sのバージョンを指定。configでnode数なんかを指定したりもできます。k8sで使えるバージョンはkindest/nodeでタグが存在すれば指定可能です。(kind自体もとても高頻度で更新がされてるようでバージョン選択で特に不便はなさそうな印象)
全文↓