Kubernetes社區將在1.21版本中棄用PSP,並將1.25版本中移除該API。目前CNCF生態圈相似項目:Kyverno與Open Policy Agen(OPA).git
PodSecurityPolicy是集羣級別的Pod安全策略,其對Pod的操做進行細粒度的受權。在Kubernetes架構中以Admission Controller(准入控制,相似NamespaceLifecycle、ResourceQuota等),通俗來說就是一種寫入前檢查插件github
當前PodSecurityPolicy特性存在如下問題:安全
Kyverno是爲Kubernetes設計的策略引擎(CNCF sandbox項目)。其具有如下功能:markdown
相關策略相似Kubernetes對象,上手容易架構
配置管理便利框架
爲Kubernetes資源的策略進行聲明式驗證,更改和生成資源配置。ide
在Kubernetes集羣中做爲動態准入控制器運行。微服務
能夠使用資源種類,名稱和標籤選擇器來匹配資源。名稱中支持通配符等oop
當前採納該方案的開源項目:fluxcd v2等google
Open Policy Agent(即OPA, CNCF孵化項目), 爲策略決策需求提供了一個統一的框架。它將策略決策從軟件業務邏輯中解耦剝離,將策略定義、決策過程抽象爲通用模型,實現了一個通用策略引擎,
其可用於微服務、Kubernetes、 CI/CD、API網關等應用場景。
OPA能夠經過sidecar、外部服務或是依賴庫的方式與已有的軟件系統進行集成。OPA 能夠接受任何類型的結構化數據,決策流程以下圖所示:
OPA經過數據輸入和策略來進行決策,決策過程和數據無關。例如:
後續相關內容,請查看公衆號:DCOS