Ⅰ. Issue Description
Open-local pods fail to start due to ErrImagePull or ImagePullBackOff errors caused by an incorrect image URL in the helm chart.
Ⅱ. Describe what happened
I followed the user guide to install Open-Local using Helm. However, several pods failed to start due to image pull errors.
kubectl get pods -n kube-system -l app.kubernetes.io/name=open-local
NAME READY STATUS RESTARTS AGE
open-local-agent-hhm8l 2/3 ImagePullBackOff 0 2m26s
open-local-controller-6f89869dd7-7jq7c 2/6 ImagePullBackOff 0 2m26s
open-local-init-job-lpq6h 0/1 Pending 0 2m26s
open-local-init-job-n5gds 0/1 Pending 0 2m26s
open-local-init-job-pnm4m 0/1 Pending 0 2m26s
open-local-scheduler-extender-76f49b9594-p8f6l 1/1 Running 0 2m26s
After inspecting the pods events, I found that the issue was due to an incorrect prefix in the image path:
Failed to pull image "docker.io/registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.0":
pull access denied, repository does not exist or may require authorization
Ⅲ. Describe what you expected to happen
Pods should be able to pull all images successfully and reach a Running or Completed state after deployment.
Ⅳ. How to reproduce it (as minimally and precisely as possible)
- Clone the open-local repo.
- Run
helm install open-local ./helm
- Observe the pod status with
kubectl get pods -n kube-system
Ⅴ. Anything else we need to know?
The problem seems to be caused by the global image prefix (docker.io) being prepended to all image paths in values.yaml. Images like those from registry.k8s.io, already include a registry domain and should not have a prefix added. Only the Open-Local images require the docker.io prefix.
Updating values.yaml and the relevant chart templates (e.g., agent.yaml) to handle prefix logic conditionally would resolve this issue.
Ⅵ. Environment:
- Open-Local version:
- OS (e.g. from /etc/os-release): Ubuntu 22.04.4 LTS
- Kernel (e.g.
uname -a): 6.8.0-1021-azure #25~22.04.1-Ubuntu SMP Thu Jan 16 21:37:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
- Install tools: Helm, k3s
- Others: Azure
Ⅰ. Issue Description
Open-local pods fail to start due to
ErrImagePullorImagePullBackOfferrors caused by an incorrect image URL in the helm chart.Ⅱ. Describe what happened
I followed the user guide to install Open-Local using Helm. However, several pods failed to start due to image pull errors.
After inspecting the pods events, I found that the issue was due to an incorrect prefix in the image path:
Failed to pull image "docker.io/registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.0": pull access denied, repository does not exist or may require authorizationⅢ. Describe what you expected to happen
Pods should be able to pull all images successfully and reach a
RunningorCompletedstate after deployment.Ⅳ. How to reproduce it (as minimally and precisely as possible)
helm install open-local ./helmkubectl get pods -n kube-systemⅤ. Anything else we need to know?
The problem seems to be caused by the global image prefix (
docker.io) being prepended to all image paths in values.yaml. Images like those fromregistry.k8s.io, already include a registry domain and should not have a prefix added. Only the Open-Local images require the docker.io prefix.Updating values.yaml and the relevant chart templates (e.g., agent.yaml) to handle prefix logic conditionally would resolve this issue.
Ⅵ. Environment:
uname -a):6.8.0-1021-azure #25~22.04.1-Ubuntu SMP Thu Jan 16 21:37:09 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux