02 - Validating and Mutating Admission Controllers
Validating and Mutating Admission Controllers 🔧 Mutating Admission Controller(變更型) ✅ 功能: 修改用戶提交的資源物件 常用於補上預設值、標籤、或注入 Sidecar 📌 實際用途: 自動加入監控 sidecar(如 Istio、Datadog) 補上預設 labels 或 annotations 加入預設的資源限制(CPU/記憶體) 加上 Tolerations、Node Affinity 等 🧩 常見元件: MutatingAdmissionWebhook MutatingAdmissionPolicy(Kubernetes 1.28+ GA) 🔍 Validating Admission Controller(驗證型) ✅ 功能: 驗證資源是否合法,若不符合條件則拒絕執行 無法修改資源,只能判斷通過或拒絕 📌 實際用途: 拒絕使用 latest image tag 禁止容器使用 root 權限 限制只能使用特定的 StorageClass 確保所有物件都有必要的 label 🧩 常見元件: ValidatingAdmissionWebhook ValidatingAdmissionPolicy(Kubernetes 1.28+ GA) 執行順序(流程圖) 1️⃣ 使用者發送 API 請求 ↓ 2️⃣ 驗證身份與權限(Authentication / Authorization) ↓ 3️⃣ Mutating Admission Controller(如需修改) ↓ 4️⃣ Validating Admission Controller(檢查是否合法) ↓ 5️⃣ 通過後寫入 etcd,開始執行 Q: Which of the below combination is correct for Mutating and validating admission controllers ? Ans: NamespaceAutoProvision - Mutating, NamespaceExists - Va...