-
Kubernetes의 AdmissionReviewKubernetes 2025. 4. 2. 05:00728x90
Kubernetes의 AdmissionReview는 Admission Webhook과 API 서버 사이의 통신에 사용되는 요청/응답 포맷입니다. 간단히 말하면, "Kubernetes가 webhook에게 묻는 질문과 webhook이 보내는 대답"이라고 생각하면 됩니다.
AdmissionReview란?
AdmissionReview는 Kubernetes API 서버가 외부 Webhook 서버에 리소스 생성/변경 요청을 검사해 달라고 보낼 때 사용하는 구조체입니다.
Webhook 서버는 이 요청을 분석하고, 허용할지 거부할지 결정한 후 응답합니다.구성요소:
- AdmissionReview.Request: API 서버가 보내는 요청 정보
- AdmissionReview.Response: Webhook 서버가 응답하는 승인/거부 정보
예시 구조
API 서버 → Webhook 서버
{ "apiVersion": "admission.k8s.io/v1", "kind": "AdmissionReview", "request": { "uid": "abcd-1234", "kind": { "group": "", "version": "v1", "kind": "Pod" }, "resource": { "group": "", "version": "v1", "resource": "pods" }, "name": "nginx-pod", "namespace": "default", "operation": "CREATE", "object": { "metadata": { "name": "nginx-pod" }, "spec": { "containers": [ { "name": "nginx", "image": "nginx" } ] } }, "userInfo": { "username": "admin" } } }
Webhook 서버 → API 서버
{ "apiVersion": "admission.k8s.io/v1", "kind": "AdmissionReview", "response": { "uid": "abcd-1234", "allowed": true } }
AdmissionReview는 어디에 사용될까?
용도 설명 Validating Webhook 리소스가 유효한지 검증 (예: 필수 필드 존재 여부) Mutating Webhook 리소스를 자동으로 수정 (예: default 값 추가) OPA Gatekeeper, Kyverno 등 내부적으로 AdmissionReview 사용 핵심 요약
항목 설명 AdmissionReview API 서버와 Webhook 간의 요청/응답 구조 Request 어떤 리소스를 누가, 어떤 작업을 하려는지 Response 허용할지 여부와 메시지 Webhook 동작 기반 모든 admission webhook은 이 구조를 따라야 함 728x90'Kubernetes' 카테고리의 다른 글
CRD에 대해 Webhook을 통한 유효성 검증 (0) 2025.04.02 CRD 리소스에서 Optimistic Concurrency Control(OCC) 구현 (0) 2025.04.02 Kubernetes의 Optimistic Concurrency Control (OCC) (0) 2025.04.02 Kubernetes API 서버에서 "Lock"을 관리하는 방법 (0) 2025.04.02 Amazon EKS Auto Mode (0) 2025.04.01