Abstract Kubernetes (K8s) のマニフェストのバリデーションを行う手法を解説する。 効率的な開発・リリースを行うため、K8sを採用する場合は通常CI/CDパイプラインの採用も行う。 すなわち、コードの変更に応じて自動的にビルド・テスト・デプロイまで行われる前提となる。 CI中でアプリケーションのビルド・テストが行われることはもちろん必要だが、同様にK8sマニフェストのテストやセキュリティチェックが行われることが望ましい。 また、CD中で組織のポリシーに沿わないK8sマニフェストがデプロイされることも防ぐ必要がある。 本解説ではOPA, Conftest, Konstraint, Gatekeeper, Gatorという技術スタックを用いて上記を自動的に実現する仕組みを、簡単なコードと共に解説する。 Introduction Background Abstractで記述
