地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

【k8s】kindを使ってGitHub Actionsでmanifestをテストしてみる

ステージング環境見たいなそんなに高頻度に更新がされないかつコンフリクトがあんまり無いフェーズでのテストではなく開発中に小さい単位でmanifestをapplyしてみたいケースがあるとします。

その場合開発者がそれぞれkindをローカルに持つといった解決策があるかと思いますがkindのバージョンが開発者間で違ったりkindで使ってるコンテナランタイムに差分が出たりする場合なんかもあります。それを解決する案としてkindをGitHub Actions上で動かすActions が公開されていたので使ってみました。

github.com

サンプル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自体もとても高頻度で更新がされてるようでバージョン選択で特に不便はなさそうな印象)

全文↓

kind-ci/kind.yml at main · ryuichi1208/kind-ci · GitHub