KubernetesはPodセキュリティスタンダードを強制できる、ビルトインのアドミッションコントローラーを提供しています。
アドミッションコントローラーを設定して、クラスター全体のデフォルトと例外を設定できます。
Podセキュリティアドミッションは、Kubernetes v1.22のアルファリリースに続き、 Kubernetes v1.23でベータとしてデフォルトで利用可能になりました。 バージョン1.25以降、Podセキュリティアドミッションは正式リリース(GA)されています。
バージョンを確認するには次のコマンドを実行してください: kubectl version.
Kubernetes 1.36を実行していない場合は、 実行しているKubernetesバージョンのドキュメントに切り替えて、このページを参照できます。
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.36"
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: []
--admission-control-config-fileを使用してkube-apiserverに指定する必要があります。