我创建了一个Docker镜像,并将其推送到了一个私有的Docker Hub存储库。使用以下清单文件,我尝试创建一个新的Pod:
apiVersion: v1 kind: Pod metadata: name: web-app-pod labels: app: web spec: containers: - name: web-app-container image: {docker_hub_username}/{repository_name}:tag ports: - containerPort: 8080
要创建新的Pod,我只需尝试以下操作:
kubectl apply -f pod.yml kubectl get pods --watch
其输出如下:
NAME READY STATUS RESTARTS AGE web-app-pod 0/1 ImagePullBackOff 0 7m35s
这表明Kubernetes无法从Docker Hub中提取图像。为了获得更详细的报告,我尝试了以下方法:
kubectl describe po web-app-pod
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 22s default-scheduler Successfully assigned default/web-app-pod to lke91166-138019-63e1c8b4d01b Normal BackOff 20s (x2 over 21s) kubelet Back-off pulling image "{docker_hub_username}/{repository_name}:tag" Warning Failed 20s (x2 over 21s) kubelet Error: ImagePullBackOff Normal Pulling 7s (x2 over 22s) kubelet Pulling image "{docker_hub_username}/{repository_name}:tag" Warning Failed 7s (x2 over 22s) kubelet Failed to pull image "{docker_hub_username}/{repository_name}:tag": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/{docker_hub_username}/{repository_name}:tag": failed to resolve reference "docker.io/{docker_hub_username}/{repository_name}:tag": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed Warning Failed 7s (x2 over 22s) kubelet Error: ErrImagePull