Kubernetes 具有特定ImagePullPolicy的PodSecurityPolicy故障
我正在尝试在我的Kubernetes 具有特定ImagePullPolicy的PodSecurityPolicy故障,kubernetes,google-kubernetes-engine,kubernetes-pod,Kubernetes,Google Kubernetes Engine,Kubernetes Pod,我正在尝试在我的v1.13.6-gke.6k8s集群中部署一个Pod 我使用的图像非常简单: FROM scratch LABEL maintainer "Bitnami <containers@bitnami.com>" COPY rootfs / USER 1001 CMD [ "/chart-repo" ] 因此,基本上按照规则:MustRunAsNonRoot规则,上面的图像应该运行 但当我运行图像时,我随机遇到: Error: container has runAsN
v1.13.6-gke.6
k8s集群中部署一个Pod
我使用的图像非常简单:
FROM scratch
LABEL maintainer "Bitnami <containers@bitnami.com>"
COPY rootfs /
USER 1001
CMD [ "/chart-repo" ]
因此,基本上按照规则:MustRunAsNonRoot
规则,上面的图像应该运行
但当我运行图像时,我随机遇到:
Error: container has runAsNonRoot and image will run as root
进一步挖掘,我得到了这个模式:
每次使用imagePullPolicy:IfNotPresent
运行图像时,我总是遇到问题。这意味着每次我提取缓存的图像时,它都会给出容器已运行asnonroot
错误
Normal Pulled 12s (x3 over 14s) kubelet, test-1905-default-pool-1b8e4761-fz8s Container image "my-repo/bitnami/kubeapps-chart-repo:1.4.0-r1" already present on machine
Warning Failed 12s (x3 over 14s) kubelet, test-1905-default-pool-1b8e4761-fz8s Error: container has runAsNonRoot and image will run as root
但是
每次我以imagePullPolicy:Always
的形式运行映像时,映像都会成功运行:
Normal Pulled 6s kubelet, test-1905-default-pool-1b8e4761-sh5g Successfully pulled image "my-repo/bitnami/kubeapps-chart-repo:1.4.0-r1"
Normal Created 5s kubelet, test-1905-default-pool-1b8e4761-sh5g Created container
Normal Started 5s kubelet, test-1905-default-pool-1b8e4761-sh5g Started container
所以我不太确定这是怎么回事。我的意思是,仅仅因为
ImagePullPolicy
不同,为什么它错误地设置了PSP规则 根据描述很难说。集群中是否有多个节点
首先,如果您在imagePullPolicy:IfNotPresent
中看到错误,而在imagePullPolicy:Always
中没有看到错误,很可能是因为本地节点上的容器映像与容器注册表中的不同
可能是您有一个旧版本的
my repo/bitnami/kubeapps chart repo
本地使用相同的标签?发现了问题。这是k8s在2个特定版本v1.13.6
和v1.14.2
中的一个已知问题
找到了问题所在。这是已知的k8s问题-->
Normal Pulled 6s kubelet, test-1905-default-pool-1b8e4761-sh5g Successfully pulled image "my-repo/bitnami/kubeapps-chart-repo:1.4.0-r1"
Normal Created 5s kubelet, test-1905-default-pool-1b8e4761-sh5g Created container
Normal Started 5s kubelet, test-1905-default-pool-1b8e4761-sh5g Started container