请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

部署到K8S失败了,镜像拉不下来

部署到K8S失败了:

root@master01:~# kubectl get pod -n ec-dashboard
NAME                                READY   STATUS             RESTARTS   AGE
ec-dashboard-88cffbfcc-jjbvs        0/1     ImagePullBackOff   0          3m51s
ec-dashboard-web-6588ff5467-bmqtb   0/1     ImagePullBackOff   0          3m51s
root@master01:~# ^C
root@master01:~# kubectl logs ec-dashboard-88cffbfcc-jjbvs -nec-dashboard
Error from server (BadRequest): container "ec-dashboard" in pod "ec-dashboard-88cffbfcc-jjbvs" is waiting to start: trying and failing to pull image
root@master01:~# kubectl logs ec-dashboard-web-6588ff5467-bmqtb -nec-dashboard
Error from server (BadRequest): container "ec-dashboard-web" in pod "ec-dashboard-web-6588ff5467-bmqtb" is waiting to start: trying and failing to pull image
root@master01:~#
root@master01:~# docker pull edge.imooc.com/imooc_containers/ec-dashboard-web:v1
Error response from daemon: unauthorized: unauthorized to access repository: imooc_containers/ec-dashboard-web, action: pull: unauthorized to access repository: imooc_containers/ec-dashboard-web, action: pull
root@master01:~#
root@master01:~# docker pull edge.imooc.com/imooc_containers/ec-dashboard@sha256:14aaccf417856ac4c401510a1b157f54f5207836d49bfe44219e685b4e02d337
Error response from daemon: unauthorized: unauthorized to access repository: imooc_containers/ec-dashboard, action: pull: unauthorized to access repository: imooc_containers/ec-dashboard, action: pull

说明:

    问题是镜像拉不下来

    手动拉也是拉不下来

    我有把Harbor中心的证书拷贝到master命令类似:

>scp -r root@175.27.213.25:/etc/docker/certs.d /etc/docker
>systemctl restart docker

这是为什么呢?

正在回答 回答被采纳积分+3

2回答

慕侠7071936 2023-04-15 11:24:28

同学你好,请问你的问题解决了吗

翻译

搜索

复制

0 回复 有任何疑惑可以回复我~
暮闲 2023-03-26 07:17:12
证书拷贝的前提下:
1. 如果是直接docker pull 本地docker login了吗
2. 如果是k8s部署  yaml配置了imagpullsecret了吗
0 回复 有任何疑惑可以回复我~
  • 提问者 蝴蝶是保护动物 #1
    直接拉:docker login之后手动可以拉了。
    k8s部署:还是摘取失败。
    yaml相关部分与课件一致,确认是配置了imagpullsecret的:
    ....
          restartPolicy: Always
          imagePullSecrets:
          #镜像拉取秘钥
          - name: docker-secret
          containers:
          - name: ec-dashboard
    ....
    并确认了master有生成对应的secrete:(为了确保密码正确,我还将其删除并重新生成了)
    root@master01:~# kubectl get secret
    NAME                  TYPE                                  DATA   AGE
    default-token-cxqtx   kubernetes.io/service-account-token   3      85d
    docker-secret         kubernetes.io/dockerconfigjson        1      84m
    root@master01:~#
    回复 有任何疑惑可以回复我~ 2023-03-26 19:15:31
  • 暮闲 回复 提问者 蝴蝶是保护动物 #2
    你把secret的base64解码出来看看 确认一下里面的server地址,账号密码都是正确的吗
    回复 有任何疑惑可以回复我~ 2023-03-26 20:07:39
  • 提问者 蝴蝶是保护动物 回复 暮闲 #3
    是正确的:
    #确认Harbor的docker-secret是否正确
    root@master:~/#kubectl get secret
    root@master:~/#kubectl get secret docker-secret -o yaml
    root@master01:~#echo eyJhdXRocyI6eyJlZGdlLmltb29jLmNvbSI6eyJ1c2VybmFtZSI6ImFkbWluIiwicGFzc3dvcmQiOiJIYXJib3IxMjM0NSIsImF1dGgiOiJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVT0ifX19| base64 -d
    {"auths":{"edge.imooc.com":{"username":"admin","password":"Harbor12345","auth":"YWRtaW46SGFyYm9yMTIzNDU="}}}
    
    这个secrete是参考7-13节的方法:
    kubectl create secret docker-registry docker-secret --docker-server=edge.imooc.com --docker-username=admin --docker-password=Harbor12345
    回复 有任何疑惑可以回复我~ 2023-03-26 21:29:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信