Azure PolicyにおけるCELとVAPを用いたKub... ノート

Azure PolicyにおけるCELとVAPを用いたKubernetesネイティブポリシー検証の紹介

Azure Policy for Kubernetes は、Common Expression Language (CEL) を使用して Gatekeeper およびネイティブ Kubernetes Validating Admission Policy (VAP) と統合されました。Kubernetes 1.30 の VAP を活用したこの統合により、より効率的で信頼性の高いインプロセス ポリシー強制が実現します。これにより、アドミッション決定のレイテンシが削減され、制約テンプレートの作成が簡素化され、より強力なフェイルクローズ動作が可能になります。ユーザーは、中央集権的な割り当て、スコープ管理、安全なロールアウト制御といった Azure Policy のメリットを引き続き享受できます。以前は、Azure Policy はアドミッション Webhook を介した OPA Rego ベースの評価に依存していました。新しいアプローチでは、Kubernetes 検証のために設計された軽量言語である CEL を使用し、ポリシーを Kubernetes API サーバー内で実行できるようになります。このインツリー評価は、外部サービスへの依存を排除することで信頼性を向上させます。Azure Policy はガバナンスレイヤーとして機能し、CEL は検証ロジックを提供します。CEL ポリシーを実装するには、CEL 制約テンプレートを作成し、それを Azure Policy 定義内にパッケージ化します。例として、この 2 層アプローチを使用してデプロイメントレプリカを 5 に制限する方法を示します。制約テンプレートは検証ロジックを定義し、Azure Policy 定義はガバナンス機能でそれをラップします。ポリシーは AKS クラスターに割り当てられ、コンプライアンスは Azure Policy コンソールを通じて監視されます。この機能には、Kubernetes v1.30 以降と Azure Policy add-on for Kubernetes が必要です。