Kubernetesのカスタムコントローラーに対する自動テストを記述し、CI上で実行するというテーマでの発表です。
Kubernetesは非常に複雑なコンポーネントで成り立っていて、テストのための環境のポータビリティが低く、CIでも手元のMacでも、複数の開発者のPCでも実行したいという要望に答えるのが難しいです。
それに対する回答として、3つの手段を提案しています。
それが、fake-client, envtest, ket の3つです。
それらの使い方や特徴の違いなどについて説明しています。
Keyword:
client-go, fake, fake-client, envtest, setup-envtest, kind, skaffold, kubectl, e2e, test, ket, Kubernetes, Custom Controller, Operator
登壇内容:
https://event.cloudnativedays.jp/cndt2021/talks/1244
参考:
https://engineering.mercari.com/blog/entry/20210831-f666b94b24/
https://pkg.go.dev/k8s.io/client-go/kubernetes/fake
https://github.com/kubernetes-sigs/controller-runtime/tree/master/pkg/envtest
https://github.com/riita10069/ket
https://mercari.connpass.com/event/227024/