

Tested the image:
zzh@ZZHPC:/zdata/Github/zgrpc-go-professionals$ kubectl run mytest --image=zgrpc-go-professionals:server
pod/mytest created
zzh@ZZHPC:/zdata/Github/zgrpc-go-professionals$ kubectl get pods
NAME READY STATUS RESTARTS AGE
mytest 0/1 ErrImagePull 0 5s
zzh@ZZHPC:/zdata/Github/zgrpc-go-professionals$ kubectl describe pod mytest
Name: mytest
Namespace: default
Priority: 0
Service Account: default
Node: kind-worker/172.18.0.3
Start Time: Mon, 06 May 2024 10:33:02 +0800
Labels: run=mytest
Annotations: <none>
Status: Pending
IP: 10.244.2.7
IPs:
IP: 10.244.2.7
Containers:
mytest:
Container ID:
Image: zgrpc-go-professionals:server
Image ID:
Port: <none>
Host Port: <none>
State: Waiting
Reason: ImagePullBackOff
Ready: False
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-5clv9 (ro)
Conditions:
Type Status
PodReadyToStartContainers True
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
kube-api-access-5clv9:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 90s default-scheduler Successfully assigned default/mytest to kind-worker
Warning Failed 44s (x3 over 89s) kubelet Failed to pull image "zgrpc-go-professionals:server":
failed to pull and unpack image "docker.io/library/zgrpc-go-professionals:server":
failed to resolve reference "docker.io/library/zgrpc-go-professionals:server":
pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
Warning Failed 44s (x3 over 89s) kubelet Error: ErrImagePull
Normal BackOff 17s (x4 over 88s) kubelet Back-off pulling image "zgrpc-go-professionals:server"
Warning Failed 17s (x4 over 88s) kubelet Error: ImagePullBackOff
Normal Pulling 3s (x4 over 91s) kubelet Pulling image "zgrpc-go-professionals:server"
This is because Kubernetes pulls docker images from dockerhub and I didn't upload the image to dockerhub.
But kind has a way to use local docker images:
zzh@ZZHPC:/zdata/Github/zgrpc-go-professionals$ kind load docker-image zgrpc-go-professionals:server Image: "zgrpc-go-professionals:server" with ID "sha256:da7725d8e1b8ed8e242ef5e9a220d81cac3c7eac5ff1f8311ae90eac4e7e538a" not yet present on node "kind-control-plane", loading... Image: "zgrpc-go-professionals:server" with ID "sha256:da7725d8e1b8ed8e242ef5e9a220d81cac3c7eac5ff1f8311ae90eac4e7e538a" not yet present on node "kind-worker2", loading... Image: "zgrpc-go-professionals:server" with ID "sha256:da7725d8e1b8ed8e242ef5e9a220d81cac3c7eac5ff1f8311ae90eac4e7e538a" not yet present on node "kind-worker", loading...
After loading the image, the mytest pod is OK:
zzh@ZZHPC:/zdata/Github/zgrpc-go-professionals$ kubectl get pods NAME READY STATUS RESTARTS AGE mytest 1/1 Running 0 6m21s

浙公网安备 33010602011771号