ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kubernetes의 AdmissionReview
    Kubernetes 2025. 4. 2. 05:00
    728x90

    Kubernetes의 AdmissionReviewAdmission 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
Designed by Tistory.