Kubernetes runAsNonRoot 失败:CreateContainerConfigError
Kubernetes runAsNonRoot failing: CreateContainerConfigError
我在我的 pod 中添加了一个安全上下文,如下所示:
spec:
securityContext:
runAsNonRoot: true
虽然 运行 我收到错误消息的 pod (kubectl get pod pod-name -o=yaml):
container has runAsNonRoot and image has non-numeric user (default),
cannot verify user is non-root
消息很直观,但在阅读后 kubernetes blog 在我看来它应该非常简单,我在这里缺少什么?
仅当您的 uid == nil 时才会出现此错误。根据错误文本,我们需要设置一个数字用户值。
因此,对于 UID=1000 的用户,您可以在 pod 定义中执行此操作,例如:
securityContext:
runAsUser: 1000
所以你的 securityContext
应该是这样的:
securityContext:
fsGroup: 2000
runAsNonRoot: true
runAsUser: 1000
查看官方文档here
您可以按如下方式添加securityContext:
spec:
runAsUser:
rule: MustRunAsNonRoot
containers:
- name: <container-name>
这可以通过 Kubernetes code
确认
我在我的 pod 中添加了一个安全上下文,如下所示:
spec:
securityContext:
runAsNonRoot: true
虽然 运行 我收到错误消息的 pod (kubectl get pod pod-name -o=yaml):
container has runAsNonRoot and image has non-numeric user (default), cannot verify user is non-root
消息很直观,但在阅读后 kubernetes blog 在我看来它应该非常简单,我在这里缺少什么?
仅当您的 uid == nil 时才会出现此错误。根据错误文本,我们需要设置一个数字用户值。
因此,对于 UID=1000 的用户,您可以在 pod 定义中执行此操作,例如:
securityContext:
runAsUser: 1000
所以你的 securityContext
应该是这样的:
securityContext:
fsGroup: 2000
runAsNonRoot: true
runAsUser: 1000
查看官方文档here
您可以按如下方式添加securityContext:
spec:
runAsUser:
rule: MustRunAsNonRoot
containers:
- name: <container-name>
这可以通过 Kubernetes code
确认