K8s 정책

1 개요[ | ]

k8s policy
k8s 정책
  • 쿠버네티스에서 "정책(Policy)"은 클러스터 동작이나 워크로드 실행에 대해 허용·거부 조건, 보안 규칙, 운영 지침을 선언적으로 정의하는 리소스들을 통칭한다.
  • 여기서는 이름에 Policy가 포함되어 있는 경우와, 그렇지 않더라도 사실상 정책 기능을 수행하는 경우를 구분해본다.

2 이름에 Policy 명시[ | ]

항목 적용 대상 설명
NetworkPolicy Pod/네트워크 Pod 간 트래픽 허용·차단 규칙 정의
ValidatingAdmissionPolicy API 요청 API 서버에서 오브젝트 유효성 검증 규칙 정의 (v1.26+)
MutatingAdmissionPolicy API 요청 API 서버에서 오브젝트 변경 규칙 정의 (v1.34+, beta)
AuditPolicy API 서버 로그 Audit 이벤트 기록 규칙 정의 (Metadata, Request, RequestResponse 등)
(Kyverno) Policy Namespace 네임스페이스 단위 리소스 검증·수정·생성 규칙 정의
(Kyverno) ClusterPolicy Cluster 클러스터 전역 리소스 검증·수정·생성 규칙 정의
(Gateway API) BackendTLSPolicy Backend (alpha) 백엔드와 업스트림 간 TLS 정책 정의 (Gateway API 확장)
(Gateway API) BackendTrafficPolicy Backend (alpha) 부하분산, 연결 제어, 트래픽 제한 정책 정의 (Gateway API 확장)
(Gateway API) PolicyAttachment (개념) Gateway/Route (alpha) 인증·TLS·트래픽 제어 같은 정책을 구조적으로 붙이는 메커니즘
PodSecurityPolicy Pod (removed) Pod 보안 제약 정의 (v1.25에서 PodSecurity로 대체)

3 사실상 Policy 기능[ | ]

항목 적용 대상 설명
ResourceQuota Namespace 네임스페이스별 리소스 사용량 상한 지정 (정책적 제약)
LimitRange Namespace/Pod/Container 리소스 요청·제한의 기본값 및 상한/하한 지정
PodDisruptionBudget Pod 축출(eviction) 시 최소 가용성 보장
PodSecurity Namespace/Pod (v1.25, GA) Pod 보안 수준을 강제 (Privileged, Baseline, Restricted)
(Gatekeeper) Constraint Cluster/Namespace 리소스 검증·거부를 위한 제약 조건 정의
(Gatekeeper) ConstraintTemplate Cluster Constraint 생성을 위한 Rego 템플릿 정의

4 특징[ | ]

  • 제한/보장: 정책은 사용자가 원하는 조건을 강제하거나, 서비스 가용성을 일정 수준 보장한다.
  • 네임스페이스 범위: 많은 정책은 네임스페이스 단위로 적용되며, 일부는 클러스터 전역(Cluster-wide)으로 동작한다.
  • 컨트롤러 연계: 정책 자체는 선언일 뿐, 실제 강제는 네트워크 플러그인, 스케줄러, API 서버, Admission Controller 등이 수행한다.
  • 확장성: CRD 기반 정책도 다양하게 존재한다 (예: Kyverno, OPA Gatekeeper).

5 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}