I am trying to deploy a Pod in my v1.13.6-gke.6 k8s cluster.
The image that I'm using is pretty simple:
FROM scratch
LABEL maintainer "Bitnami <containers@bitnami.com>"
COPY rootfs /
USER 1001
CMD [ "/chart-repo" ]As you can see, the user is set to 1001.
The cluster that I am deploying the Pod in has a PSP setup.
spec:
allowPrivilegeEscalation: false
allowedCapabilities:
- IPC_LOCK
fsGroup:
ranges:
- max: 65535
min: 1
rule: MustRunAs
runAsUser:
rule: MustRunAsNonRootSo basically as per the rule: MustRunAsNonRoot rule, the above image should run.
But when I ran the image, I randomly run into :
Error: container has runAsNonRoot and image will run as rootSo digging further, I got this pattern:
Every time I run the image with imagePullPolicy: IfNotPresent, I always run into the issue. Meaning every time I picked up a cached image, it gives the container has runAsNonRoot error.
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 rootBUT
Every time I run the image as imagePullPolicy: Always, the image SUCCESSFULLY runs:
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 containerSo I'm not really sure what all this is about. I mean just because the ImagePullPolicy is different, why does it wrongly setup a PSP rule?
Hard to tell based on the description. Do you have multiple nodes in your cluster?
At first, if you are seeing the error with imagePullPolicy: IfNotPresent and not seeing it with imagePullPolicy: Always, it's most likely due to having different container images on the local node than in the container registry.
It could be that you have an older version of my-repo/bitnami/kubeapps-chart-repo locally with the same tag?
Found out the issue. Its a known issue with k8s for 2 specific versions v1.13.6 & v1.14.2.