Kubernetes Blog 日本語
フォロー
Kubernetes 1.30: Admission Policyの検証が一般的に利用可能
Kubernetes 1.30 では、ValidatingAdmissionPolicy という、検証アドミッションウェブフックの宣言的な代替が導入されました。このポリシーでは、アドミッションコントロールポリシーの定義がより簡潔で、より直接的な方法で行えるようになります。ウェブフックから移行するには、CEL という宣言的な言語を使用して、ポリシーの検証を式として再定義するだけです。Kubernetes 1.28 では、サブ式の再利用が可能な Variable Composition と、オプションフィールドの作業を簡単にするCEL ライブラリのサポートが導入されました。ポリシーの作成には、ポリシーが適用されるべき状況を指定する matchConstraints と、満たすべき条件を定義する validations を定義します。failurePolicy では、検証が失敗した場合のアクション(失敗か警告か)を指定します。ValidatingAdmissionPolicyBinding を使用して、ポリシーを名前空間にバインドします。デフォルトではアクションが "失敗" に設定されますが、開発やテストの際には "警告" に設定することができます。ポリシーの監視には、API サーバーメトリクス(95th パーセンタイルの実行時間や評価率など)を使用し、Prometheus Query Language でこれらのメトリクスを照会することができます。ValidatingAdmissionPolicies は、ウェブフックに対する複数の利点があります。コードの複雑さが減り、ポリシーファーストの開発がサポートされ、パフォーマンスも向上します。ボーナスとして、Variable Composition と CEL を使用することで、ポリシーの読みやすさと維持性を向上させることができます。最後に、ポリシーのパフォーマンスと効果を追跡するための適切な監視が必要です。