-
Bug
-
Resolution: Not a Bug
-
Normal
-
None
-
4.18
-
None
-
Quality / Stability / Reliability
-
False
-
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
CRI-O is not honouring the image-pull-secret provided through the ServiceAccount or the one defined directly in the deployment for containerRuntimeSearchRegistries
Version-Release number of selected component (if applicable):
4.x
How reproducible:
100%
Steps to Reproduce:
1- Update the images.config CR to add containerRuntimeSearchRegistries like below:
registrySources:
containerRuntimeSearchRegistries:
- reg1.io
- reg2.io
- reg3.io
2- Attach the image-pull-secret to the respective ServiceAcoount or directly to the deployment:
# oc create secret docker-registry registry2 --docker-server=<registry> --docker-username=<username> --docker-password=<password> --docker-email=<mail> # oc secrets link default registry2 --for=pull
3- deploy the application using the default ServiceAccount and see the pod is failing to pull the image with "not authorised"
Warning Failed 17s kubelet Error: ImagePullBackOff Normal Pulling 2s (x2 over 20s) kubelet Pulling image "redhat/ubi9:latest" Warning Failed 0s (x2 over 18s) kubelet Failed to pull image "redhat/ubi9:latest": reading manifest latest in quay.io/redhat/ubi9: unauthorized: access to the requested resource is not authorized Warning Failed 0s (x2 over 18s) kubelet Error: ErrImagePull
4- Try directly configure in the deployment and see still its failing with "not authorized"
spec:
containers:
- image: redhat/ubi9:latest
imagePullPolicy: Always
name: httpd
ports:
- containerPort: 8080
protocol: TCP
resources: {}
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
runAsNonRoot: true
runAsUser: 1000700000
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: kube-api-access-hf7hf
readOnly: true
dnsPolicy: ClusterFirst
enableServiceLinks: true
imagePullSecrets:
- name: registry2
Warning Failed 17s kubelet Error: ImagePullBackOff Normal Pulling 2s (x2 over 20s) kubelet Pulling image "redhat/ubi9:latest" Warning Failed 0s (x2 over 18s) kubelet Failed to pull image "redhat/ubi9:latest": reading manifest latest in quay.io/redhat/ubi9: unauthorized: access to the requested resource is not authorized Warning Failed 0s (x2 over 18s) kubelet Error: ErrImagePull
Try to update the registryb credential in global pull-secret, then all will start working as expected. so it seems like CRI-O is not honouring the image-pull-secret provided through the ServiceAccount or the one defined directly in the deployment for containerRuntimeSearchRegistries.
i believe may be the RFE https://issues.redhat.com/browse/OCPSTRAT-2233 will fix this issue as well.?
Actual results:
CRI-O is not honouring the image-pull-secret provided through the ServiceAccount or the one defined directly in the deployment for containerRuntimeSearchRegistries.
Expected results:
CRI-O is shoud honouring the image-pull-secret provided through the ServiceAccount or the one defined directly in the deployment for containerRuntimeSearchRegistries.
Additional info: