정책
정책 (Policies)
쿠버네티스 정책은 다른 구성이나 런타임 동작을 관리하는 구성이에요. 쿠버네티스는 아래 설명하는 여러 형태의 정책을 제공해요.
출처: 문서
본문
API 객체로 정책 적용하기
일부 API 객체는 정책 역할을 해요. 예시는 다음과 같아요:
- NetworkPolicy로 워크로드의 인그레스·이그레스 트래픽을 제한할 수 있어요.
- LimitRange는 서로 다른 객체 종류에 걸쳐 리소스 할당 제약을 관리해요.
- ResourceQuota는 네임스페이스의 리소스 소비를 제한해요.
admission 컨트롤러로 정책 적용하기
admission controller는 API 서버에서 실행되며 API 요청을 검증하거나 변경(mutate)할 수 있어요. 일부 admission 컨트롤러는 정책을 적용하는 역할을 해요. 예를 들어 AlwaysPullImages admission 컨트롤러는 새 파드의 이미지 풀 정책을 Always 로 설정하도록 수정해요.
쿠버네티스에는 API 서버의 --enable-admission-plugins 플래그로 구성할 수 있는 여러 내장 admission 컨트롤러가 있어요.
admission 컨트롤러에 대한 세부 사항과 사용 가능한 admission 컨트롤러의 전체 목록은 전용 섹션에 문서화되어 있어요:
ValidatingAdmissionPolicy로 정책 적용하기
승인 검증 정책(Validating admission policy)은 Common Expression Language(CEL)를 사용해 API 서버에서 구성 가능한 검증 검사를 실행할 수 있게 해줘요. 예를 들어 ValidatingAdmissionPolicy로 latest 이미지 태그 사용을 금지할 수 있어요.
ValidatingAdmissionPolicy는 API 요청에 대해 동작하며, 비준수 구성을 차단·감사·경고할 수 있어요.
ValidatingAdmissionPolicy API에 대한 세부 사항과 예시는 전용 섹션에 문서화되어 있어요:
동적 admission 제어로 정책 적용하기
동적 admission 컨트롤러(또는 admission webhook)는 API 서버 밖에서 별도 애플리케이션으로 실행되며, API 요청의 검증·변경을 수행하기 위해 webhook 요청을 받도록 등록해요.
동적 admission 컨트롤러는 API 요청에 정책을 적용하고 다른 정책 기반 워크플로를 트리거하는 데 사용할 수 있어요. 동적 admission 컨트롤러는 다른 클러스터 리소스 조회와 외부 데이터가 필요한 검사를 포함한 복잡한 검사를 수행할 수 있어요. 예를 들어 이미지 검증 검사는 OCI 레지스트리의 데이터를 조회해 컨테이너 이미지 서명과 증명(attestations)을 검증할 수 있어요.
동적 admission 제어에 대한 세부 사항은 전용 섹션에 문서화되어 있어요:
구현체 (Implementations)
유연한 정책 엔진으로 동작하는 동적 admission 컨트롤러가 쿠버네티스 생태계에서 개발되고 있어요:
Kubelet 구성으로 정책 적용하기
쿠버네티스는 각 워커 노드의 Kubelet을 구성할 수 있게 해줘요. 일부 Kubelet 구성은 정책 역할을 해요:
- 프로세스 ID 한도와 예약 — 할당 가능한 PID를 제한·예약하는 데 사용해요.
- 노드 리소스 매니저 — 지연 시간에 민감하고 처리량이 높은 워크로드를 위해 컴퓨팅·메모리·장치 리소스를 관리해요.