Azure Policy에서 CEL과 VAP를 활용한 K... 노트

Azure Policy에서 CEL과 VAP를 활용한 Kubernetes 네이티브 정책 유효성 검사 소개

Azure Policy for Kubernetes가 이제 Gatekeeper 및 네이티브 Kubernetes Validating Admission Policy(VAP)와 Common Expression Language(CEL)를 사용하여 통합됩니다. Kubernetes 1.30의 VAP를 활용하는 이 통합은 보다 효율적이고 안정적인 인프로세스 정책 시행을 제공합니다. 이는 Admission 결정의 지연 시간을 줄이고, 제약 조건 템플릿 생성을 단순화하며, 더 강력한 fail-close 동작을 가능하게 합니다. 사용자는 중앙 집중식 할당, 범위 관리 및 안전한 롤아웃 제어와 같은 Azure Policy의 이점을 유지합니다. 이전에는 Azure Policy가 Admission 웹훅을 통해 OPA Rego 기반 평가에 의존했습니다. 새로운 접근 방식은 Kubernetes 유효성 검사를 위해 설계된 경량 언어인 CEL을 사용하며, 정책이 Kubernetes API 서버 내에서 실행될 수 있도록 합니다. 이 인트리 평가는 외부 서비스에 대한 의존성을 제거하여 안정성을 향상시킵니다. Azure Policy는 거버넌스 계층 역할을 하며, CEL은 유효성 검사 로직을 제공합니다. CEL 정책을 구현하려면 CEL 제약 조건 템플릿을 생성하고, 이를 Azure Policy 정의 내에 패키징합니다. 예시는 이 두 계층 접근 방식을 사용하여 배포 복제본을 5개로 제한하는 것을 보여줍니다. 제약 조건 템플릿은 유효성 검사 로직을 정의하고, Azure Policy 정의는 거버넌스 기능으로 이를 감쌉니다. 정책은 AKS 클러스터에 할당되며, Azure Policy 콘솔을 통해 규정 준수가 모니터링됩니다. 이 기능은 Kubernetes v1.30 이상 및 Kubernetes용 Azure Policy 애드온이 필요합니다.