Kubernetes Pod安全策略默认特权值

Kubernetes Pod安全策略默认特权值,kubernetes,Kubernetes,我正在学习更多关于Kubernetes Pod安全策略的知识,在浏览字段列表时,我找不到标志的默认值。此值是否取决于所使用的容器运行时?例如,默认情况下将此值设置为false,因此,如果我有一个Kubernetes集群,其中只有Docker容器,那么所有的pod都是非特权的吗?容器规范的SecurityContext上有一个特权标志。默认值为false 例如,通过下面的模板,您可以将其设置为true apiVersion: v1 kind: Pod metadata: name: hello

我正在学习更多关于Kubernetes Pod安全策略的知识,在浏览字段列表时,我找不到标志的默认值。此值是否取决于所使用的容器运行时?例如,默认情况下将此值设置为false,因此,如果我有一个Kubernetes集群,其中只有Docker容器,那么所有的pod都是非特权的吗?

容器规范的SecurityContext上有一个特权标志。默认值为false

例如,通过下面的模板,您可以将其设置为true

apiVersion: v1
kind: Pod
metadata:
  name: hello-world
spec:
  containers:
    - name: hello-world-container
      # The container definition
      # ...
      securityContext:
        privileged: true 

在一个新的集群中,默认的PSP是非常允许的,这意味着你几乎可以做任何事情。因此,默认情况下,如果pod上切换了特权标志,则允许特权容器,与根用户相同,等等


如果你想强制执行,你必须在PSP中显式地将标志设置为true。我相信无论使用何种容器运行时,这都是正确的,它也适用于Windows容器:

对,但我要特别询问Pod安全策略。会是同样的默认值吗?我检查了这里的文档,它没有说明默认值是什么,我认为如果您测试它,您可以理解默认值。您认为呢?默认情况下,每个容器都没有特权。我认为kubernetes制作的所有容器都没有特权。从@yasinI那里得到的答案与@yasin所说的关于Pod安全上下文的内容相矛盾。默认的PodSecurityPolicy只是没有设置为强制执行,所以您可以让特权容器运行,除非您在PSP中设置该标志,以root身份运行的容器也是如此。我明白了,谢谢。奇怪的是,安全上下文默认为unprivileged,但PSP没有。