現(xiàn)象
helm install ingress-nginx/controller
已經(jīng)手動下載該鏡像到集群每個節(jié)點徽级,鏡像拉取策略為IfNotPresent,不存在拉取鏡像問題
提示:
# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
my-ingress-nginx-controller-79b5687656-tc8rc 0/1 ImagePullBackOff
這樣
Failed to pull image "k8s.gcr.io/ingress-nginx/controller:v0.42.0@sha256:f7187418c647af4a0039938b0ab36c2322ac3662d16be69f9cc178bfd25f7eee": rpc error: code = Unknown desc = Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
處理
在鏡像tag的后面帶有@sha256:f7187418c6xxxxxxxxxxxxxxx
kubectl edit my-ingress-nginx-controller请垛,把image:后面的 '@sha256:f7187418c6xxxxxxxxxxxxxxx' 刪除催训,
然后就ok了
原因
為什么會有'@sha256:f7187418c6xxxxxxxxxxxxxxx',我下載helm chart tar到本地宗收,查看vaules.yaml漫拭,發(fā)現(xiàn)如下:
image.png
大概明白了,可能是怕被篡改吧混稽,然后雖然tag版本一樣采驻,但是可能這個tag版本后來重新打包了,雖然版本一樣荚坞,但是這時digit版本不一樣了