本文已超過一年。較舊的文章可能包含過時的內容。請檢查頁面中的資訊自發布以來是否已變得不正確。
Kubernetes v1.25:Pod 安全性許可控制器進入穩定版
Kubernetes v1.25 的發布標誌著 Kubernetes 開箱即用 Pod 安全控制的一個重要里程碑:Pod 安全准入 (PSA) 已升級為穩定版,而 Pod 安全策略 (PSP) 已被移除。PSP 已在 Kubernetes v1.21 中棄用,並且在 Kubernetes v1.25 及更高版本中不再起作用。
Pod 安全准入控制器取代了 PodSecurityPolicy,透過簡單地將標籤添加到命名空間,即可更輕鬆地強制執行預定義的 Pod 安全標準。Pod 安全標準由 K8s 社群維護,這表示每當引入新的、影響安全性的 Kubernetes 功能時,您都會自動獲得更新的安全策略。
自 Beta 版以來的新功能?
自 Kubernetes v1.23 的 Beta 版以來,Pod 安全准入沒有太大變化。重點一直放在改善使用者體驗,同時繼續保持高品質標準。
改善的違規訊息
我們改進了違規訊息,讓您獲得 更少的重複訊息。例如,當 Baseline 和 Restricted 策略檢查相同的能力時,不再顯示以下訊息
pods "admin-pod" is forbidden: violates PodSecurity "restricted:latest": non-default capabilities (container "admin" must not include "SYS_ADMIN" in securityContext.capabilities.add), unrestricted capabilities (container "admin" must not include "SYS_ADMIN" in securityContext.capabilities.add)
您會收到此訊息
pods "admin-pod" is forbidden: violates PodSecurity "restricted:latest": unrestricted capabilities (container "admin" must not include "SYS_ADMIN" in securityContext.capabilities.add)
改善的命名空間警告
當您修改命名空間上的 enforce
Pod 安全標籤時,Pod 安全准入控制器會檢查所有現有的 Pod 是否有違規情況,如果任何 Pod 不合規,則會顯示 警告。這些 警告現在會針對具有相同違規情況的 Pod 進行彙總,使具有許多副本的大型命名空間更易於管理。例如
Warning: frontend-h23gf2: allowPrivilegeEscalation != false
Warning: myjob-g342hj (and 6 other pods): host namespaces, allowPrivilegeEscalation != false Warning: backend-j23h42 (and 1 other pod): non-default capabilities, unrestricted capabilities
此外,當您將非特權標籤應用於已配置為豁免的命名空間時,您現在會收到警告,提醒您注意此事實
Warning: namespace 'kube-system' is exempt from Pod Security, and the policy (enforce=baseline:latest) will be ignored
Pod 安全標準的變更
Pod 安全標準(Pod 安全准入強制執行)已更新,支援新的 Pod OS 欄位。在 v1.25 及更高版本中,如果您使用 Restricted 策略,如果您明確地將 Pod 的 .spec.os.name
欄位設定為 windows
,則不再需要以下特定於 Linux 的限制
- Seccomp - Pod 和容器安全上下文的
seccompProfile.type
欄位 - 權限提升 - 容器安全上下文的
allowPrivilegeEscalation
欄位 - 功能 - 在容器的
capabilities
欄位中刪除ALL
功能的要求
在 Kubernetes v1.23 及更早版本中,kubelet 不會強制執行 Pod OS 欄位。如果您的叢集包含執行 v1.23 或更舊版本 kubelet 的節點,您應該明確地將 Restricted 策略固定到 v1.25 之前的版本。
從 PodSecurityPolicy 遷移到 Pod 安全准入控制器
有關從 PodSecurityPolicy 遷移到 Pod 安全准入控制器的說明,以及有關選擇遷移策略的幫助,請參閱遷移指南。我們還在開發一個名為 pspmigrator 的工具,以自動化部分遷移過程。
我們將在即將到來的 KubeCon 2022 NA 演講 從 Pod 安全策略遷移 中更詳細地討論 PSP 遷移。使用 KubeCon NA 行程表 以了解更多資訊。