trident
trident copied to clipboard
Registry missing -> ImageInspectError
Describe the bug
Default images do not specify the registry (here docker.io) - leads to ImageInspectError
in Kubernetes 1.23.x ; or when security rules deny unspecified registries.
NAME READY STATUS RESTARTS AGE
trident-csi-6b47578865-h2n9h 0/6 ImageInspectError 0 1h
trident-csi-88q6s 0/2 ImageInspectError 0 1h
trident-csi-8bcsf 0/2 ImageInspectError 0 1h
trident-csi-dzhgb 0/2 ImageInspectError 0 1h
Environment
- Kubernetes 1.23.3
- CRI-o 1.23
- netapp-trident 22.01.0 installed through the trident installer and
tridentctl install <flags>
Expected behavior
Default images should always include the registry
-
docker.io/netapp/trident
instead ofnetapp/trident
-
docker.io/netapp/trident-autosupport
instead ofnetapp/trident-autosupport
Workaround
Note : flags --trident-image
and --autosupport-image
replace both image names and tags, so we need to specify the tag even when we keep the same tag as the original image. That's why we need to check and register the version before.
$ version=$(curl -s https://api.github.com/repos/NetApp/trident/releases/latest | jq -r '.tag_name' | tr -d '^v') ; echo ${version}
22.01.0
$ tridentctl install --trident-image docker.io/netapp/trident:${version} --autosupport-image docker.io/netapp/trident-autosupport:${version} -n trident
Issue is half solved in netapp-trident 22..07.0.
Images used in this version are :
- docker.io/netapp/trident-autosupport:22.07 -> this one had been fixed
- netapp/trident:22.07.0 -> this one had not been fixed
- registry.k8s.io/sig-storage/csi-provisioner:v3.2.1
- registry.k8s.io/sig-storage/csi-attacher:v3.5.0
- registry.k8s.io/sig-storage/csi-resizer:v1.5.0
- registry.k8s.io/sig-storage/csi-snapshotter:v6.0.1
$ kubectl get deploy,daemonset,pod -o wide -n trident
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
deployment.apps/trident-csi 0/1 1 0 53s trident-main,trident-autosupport,csi-provisioner,csi-attacher,csi-resizer,csi-snapshotter netapp/trident:22.07.0,docker.io/netapp/trident-autosupport:22.07,registry.k8s.io/sig-storage/csi-provisioner:v3.2.1,registry.k8s.io/sig-storage/csi-attacher:v3.5.0,registry.k8s.io/sig-storage/csi-resizer:v1.5.0,registry.k8s.io/sig-storage/csi-snapshotter:v6.0.1 app=controller.csi.trident.netapp.io
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE CONTAINERS IMAGES SELECTOR
daemonset.apps/trident-csi 9 9 0 9 0 kubernetes.io/arch=amd64,kubernetes.io/os=linux 53s trident-main,driver-registrar netapp/trident:22.07.0,registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.5.1 app=node.csi.trident.netapp.io
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod/trident-csi-44gf9 1/2 ImageInspectError 0 53s 10.150.233.54 kube-poc-compute4 <none> <none>
pod/trident-csi-6b66b99f97-hx7k6 5/6 ImageInspectError 0 53s 10.233.114.134 iqdockerclust1 <none> <none>
pod/trident-csi-9lkbw 1/2 ImageInspectError 0 53s 10.150.233.42 kube-poc-master2 <none> <none>
pod/trident-csi-dj56l 1/2 ImageInspectError 0 53s 10.150.233.43 kube-poc-master3 <none> <none>
pod/trident-csi-dv2kz 1/2 ImageInspectError 0 53s 10.150.233.51 kube-poc-compute1 <none> <none>
pod/trident-csi-hjm42 1/2 ImageInspectError 0 53s 10.150.232.209 iqdockerclust1 <none> <none>
pod/trident-csi-kj64j 1/2 ImageInspectError 0 53s 10.150.233.52 kube-poc-compute2 <none> <none>
pod/trident-csi-mjsr2 1/2 ImageInspectError 0 53s 10.150.233.41 kube-poc-master1 <none> <none>
pod/trident-csi-qm9sj 1/2 ImageInspectError 0 53s 172.16.64.150 itaodocker1 <none> <none>
pod/trident-csi-x5m7l 1/2 ImageInspectError 0 53s 10.150.233.53 kube-poc-compute3 <none> <none>
The workaround is now :
$ ./tridentctl install --trident-image docker.io/netapp/trident:22.07.0 -n trident
This issue was fixed with commit 491901e and is available with the Trident v22.07 release.