6 linux debian docker kubernetes
无法拉取映像“/posts:0.0.1”:rpc 错误:代码 = 未知 desc = 来自守护程序的错误响应:对 /posts 的拉取访问被拒绝,存储库不存在或可能需要“docker 登录”:被拒绝:请求访问资源被拒绝
Debian 10,安装了 minikube 和 kubectl 以及 docker。如果我用这个图像运行 docker - 一切都很好。
pavel@debian:~$ kubectl 版本 客户端版本: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"123", GitTreeState:"clean", BuildDate:" 2020-11-11T13:17:17Z", GoVersion:"go1.15.2", 编译器:"gc", 平台:"linux/amd64"} 服务器版本: version.Info{Major:"1", Minor:"19 ", GitVersion:"v1.19.4", GitCommit:"123", GitTreeState:"clean", BuildDate:"2020-11-11T13:09:17Z", GoVersion:"go1.15.2", 编译器:"gc",平台:“linux/amd64”}
帖子.yaml
apiVersion: v1
kind: Pod
metadata:
name: posts
spec:
containers:
- name: posts
image: <mylogin>/posts:0.0.1
Run Code Online (Sandbox Code Playgroud)
kubectl apply -f posts.yaml
debian:~$ kubectl 描述 pod 帖子
Name: posts
Namespace: default
Priority: 0
Node: minikube/192.168.49.2
Start Time: Wed, 25 Nov 2020 07:06:47 +0400
Labels: <none>
Annotations: <none>
Status: Pending
IP: 172.17.0.4
IPs:
IP: 172.17.0.4
Containers:
posts:
Container ID:
Image: <mylogin>/posts:0.0.1
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 default-token-b9gkg (ro)
Conditions:
Type Status
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
default-token-b9gkg:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-b9gkg
Optional: false
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 23m default-scheduler Successfully assigned default/posts to minikube
Normal Pulling 21m (x4 over 23m) kubelet Pulling image "<mylogin>/posts:0.0.1"
Warning Failed 21m (x4 over 23m) kubelet Failed to pull image "<mylogin>/posts:0.0.1": rpc error: code = Unknown desc = Error response from daemon: pull access denied for <mylogin>/posts, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Warning Failed 21m (x4 over 23m) kubelet Error: ErrImagePull
Warning Failed 7m53s (x63 over 23m) kubelet Error: ImagePullBackOff
Normal BackOff 2m58s (x84 over 23m) kubelet Back-off pulling image "<mylogin>/posts:0.0.1"
Run Code Online (Sandbox Code Playgroud)
Jui*_*uin 13
Minikube 无法直接访问您的本地 docker 存储库。有多种方法可以解决此问题,此处对其进行了详细说明:https ://minikube.sigs.k8s.io/docs/handbook/pushing/
就我个人而言,我只是简单地将图像添加到 Minikube 缓存中minikube cache add <image tag>,您需要将imagePullPolicyyaml 文件内部更改为 Never。这样,它将默认使用您缓存到 minikube 中的本地映像。添加缓存后也可以重新加载缓存。如果您在将容器添加到集群之前使用 Docker 测试容器,这可能是最简单的方法。
您还可以尝试其他方法,包括使用 Minikube 内的守护进程直接构建容器映像。
图片名称不正确。正确更新图像名称和标签。如果映像托管在私有注册表中,那么您需要创建具有登录私有注册表凭据的注册表密钥。请点击以下链接获取进一步帮助 https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
| 归档时间: |
|
| 查看次数: |
44043 次 |
| 最近记录: |