ZhangZhihui's Blog  

 

 

 

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

 

posted on 2024-05-06 10:32  ZhangZhihuiAAA  阅读(13)  评论(0编辑  收藏  举报