需要充分理解“违反 PodSecurity“基线:最新”:hostPath 卷”

需要充分理解“违反 PodSecurity“基线:最新”:hostPath 卷”

我们已经在本地集群中运行 Kubernetes 1.13 相当长一段时间了。我们现在将它们升级到 1.24。

尝试在新集群上部署的一项服务失败,并在部署对象中出现以下事件:

message: 'pods "..." is forbidden: violates
  PodSecurity "baseline:latest": hostPath volumes (volume "...")'

我发现了几个讨论此问题的问题和线程,但它们都绕过了此问题的背景并尝试提供解决方案,这显然是在部署中添加以下标签:“ pod-security.kubernetes.io/enforce: privileged”。

实际上,我不确定将其添加到部署中是否会有帮助。事实上,我尝试将其添加到部署的标签和部署中模板的标签,但这没有什么区别。命名空间对象中是否需要这个?

即使我可以弄清楚在哪里添加它以使其真正起作用,我也不满足于在不确切了解这里发生的情况的情况下简单地添加它。我相信这本质上降低了安全性,尽管如果我们确实需要将卷映射到主机上的目录而没有其他选择,而现在默认情况下不允许这样做,那么这就是我们必须做的,但我需要确认一下。

我还注意到,当我们将服务部署到这些新集群时,我们会收到一些以前从未见过的额外安全警告,其中之一如下:

Warning: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (containers ... must set securityContext.allowPrivilegeEscalation=false)

我的目的是按照警告中的说明解决所有四个警告,对于此警告将设置“ allowPrivilegeEscalation=false”。这两个设置彼此之间有任何关系吗(除了两者都具有明显的“特权”之外)?

相关内容