透過設定內建的 Admission Controller 來實施 Pod 安全標準
Kubernetes 提供內建的 Admission Controller 以實施 Pod 安全標準。您可以設定此 Admission Controller 以設定叢集範圍的預設值和 豁免。
開始之前
在 Kubernetes v1.22 中發布 Alpha 版本之後,Pod 安全 Admission 在 Kubernetes v1.23 中預設提供,作為 Beta 版本。從 1.25 版本開始,Pod 安全 Admission 通常可用。
若要檢查版本,請輸入 kubectl version
。
如果您未執行 Kubernetes 1.32,您可以切換到在您正在執行的 Kubernetes 版本的文件中檢視此頁面。
設定 Admission Controller
注意
pod-security.admission.config.k8s.io/v1
組態需要 v1.25+。對於 v1.23 和 v1.24,請使用 v1beta1。對於 v1.22,請使用 v1alpha1。apiVersion: apiserver.config.k8s.io/v1
kind: AdmissionConfiguration
plugins:
- name: PodSecurity
configuration:
apiVersion: pod-security.admission.config.k8s.io/v1 # see compatibility note
kind: PodSecurityConfiguration
# Defaults applied when a mode label is not set.
#
# Level label values must be one of:
# - "privileged" (default)
# - "baseline"
# - "restricted"
#
# Version label values must be one of:
# - "latest" (default)
# - specific version like "v1.32"
defaults:
enforce: "privileged"
enforce-version: "latest"
audit: "privileged"
audit-version: "latest"
warn: "privileged"
warn-version: "latest"
exemptions:
# Array of authenticated usernames to exempt.
usernames: []
# Array of runtime class names to exempt.
runtimeClasses: []
# Array of namespaces to exempt.
namespaces: []
注意
上述 Manifest 需要透過--admission-control-config-file
指定給 kube-apiserver。上次修改時間:2023 年 10 月 17 日下午 2:00 PST:Update enforce-standards-admission-controller.md (2d8edf7829)