kubernetes部署应用时从harbor拉取镜像失败:repository does not exist or may require ‘docker login‘

这篇具有很好参考价值的文章主要介绍了kubernetes部署应用时从harbor拉取镜像失败:repository does not exist or may require ‘docker login‘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:

kubernetes部署应用时,pod启动失败,通过kubectl describe pod查看失败原因类似下面的错误:

Failed to pull image "xxxx/oneapi-2/authtenantserver:15": rpc error: code = Unknown desc = Error response from daemon: pull access denied for xxxx/oneapi-2/authtenantserver, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

排查方法及解决思路:

1.根据错误描述,先去harbor上看要拉取的镜像是否存在,如果不存在则可能是由于镜像不存在导致的。

2.如果harbor上已经存在镜像,则在pod所在的服务器上用docker pull命令尝试看看能否拉取到本地,如果不能拉取,说明没有权限,需要执行docker login。

3.执行docker login后,再次在服务器上执行docker pull看是否可以正常拉取镜像。

4.如果本地可以正常拉取了,则在kubernetes上重新部署看看是否可以正常拉取镜像了。

5.如果kubernetes还是报上面的错误,则需要将docker login后生成的/root/.docker/config.json文件复制到/var/lib/kubelet/config.json。然后在kubernetes上重新部署即可正常拉取镜像。

注意:上面排查过程中重新部署时要确保pod部署在原来的节点上。

说明:通过上面的过程找到拉取镜像失败的真正原因,如果是因为步鄹5导致的,那在kubernetes上重启pod,这时让pod部署到集群其他节点上,检查kubernetes集群的其他节点是否也存在同样的问题,如果存在的话,则kubernetes集群的所有节点都需要执行步鄹5。文章来源地址https://www.toymoban.com/news/detail-559151.html

到了这里,关于kubernetes部署应用时从harbor拉取镜像失败:repository does not exist or may require ‘docker login‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernetes(K8S)拉取本地镜像部署Pod 实现类似函数/微服务功能(可设置参数并实时调用)

             以两数相加求和为例,在kubernetes集群 拉取本地的镜像 ,实现如下效果:         1.实现两数相加求和         2.可以通过curl 实时调用 , 参数 以GET方式提供,并得到结果。(类似 调用函数 )         需要准备如下的文件。文件名与对应的功能如下所示

    2024年01月20日
    浏览(41)
  • docker harbor的安装使用以及镜像上传和拉取

            harbor是一个开源的容器镜像仓库,可用于存储和分发docker镜像。它提供了安全性、标签、注释、审核和访问控制等高级功能。 harbor旨在帮助用户管理和分发docker镜像,并使其更具可信度和可管理性。 下载并安装docker和docker compose,没有下载的可以看这篇文章dock

    2024年01月22日
    浏览(42)
  • 新版K8s:v1.28拉取Harbor仓库镜像以及本地镜像(docker弃用改用containerd,纯纯踩坑)

    使用Kuboard作为k8s集群的管理平台,Harbor作为镜像仓库,拉取Harbor镜像仓库的镜像运行。 从K8s1.24版本之后,k8s就逐渐弃用了docker,采用containerd来管理,这个很重要。 服务器 IP地址 备注 K8sMaster 192.168.2.138 kuboard,Master管理节点 K8sWorker01 192.168.2.139 Worker工作节点 K8sWorker02 192.168.

    2024年01月20日
    浏览(60)
  • Kubernetes ≥ 1.25 Containerd配置Harbor私有镜像仓库

    containerd 实现了 kubernetes 的 Container Runtime Interface (CRI) 接口,提供容器运行时核心功能,如镜像管理、容器管理等,相比 dockerd 更加简单、健壮和可移植。 从docker过度还是需要一点时间慢慢习惯的,今天来探讨containerd 如何从无域名与权威证书的私有仓库harbor,下载镜像! c

    2024年01月15日
    浏览(44)
  • K8S 自动拉取镜像失败,手动拉取镜像成功

    新创建的Deploy在创建Pod时成功,但Pod报错,提示拉取镜像失败。 通过ssh登录到具体的K8S node上,手动执行docker pull 命令,却能成功拉取到对应的镜像。 根本原因:具体的命名空间缺少imagePullSecrets,不同的命名空间不能直接使用default中的imagePullSecrets。 准备K8S环境时,仅在d

    2024年01月18日
    浏览(44)
  • Docker|kubernetes|本地镜像批量推送到Harbor私有仓库的脚本

    前言: 可能有测试环境,而测试环境下有N多的镜像,需要批量导入到自己搭建的Harbor私有仓库内,一般涉及到批量的操作,自然还是使用脚本比较方便。 本文将介绍如何把某个服务器的本地镜像 推送到带有安全证书的私有Harbor仓库。 一, ###本例中,私有Harbor仓库的地址是

    2024年02月10日
    浏览(51)
  • 【kubernetes】Harbor部署及KubeSphere使用私有仓库Harbor

    https://goharbor.io/ 内容学习于马士兵云原生课程 部署docker及docker-compose 略 获取Harbor安装文件 获取TLS文件 云服务器厂商,即可申请 修改harbor配置文件 执行预备脚本 执行安装脚本 验证运行情况 测试访问 配置域名解析,使用域名访问则是安全的 修改docker daemon.json配置文件 镜像

    2024年02月10日
    浏览(30)
  • docker pull拉取镜像失败问题解决

    docker pull Retrying in 1 second 问题解决办法: 使用阿里云加速器 1、首先进入阿里云的docker库https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 2、注册账号,并进入控制台管理; 3、选择镜像加速器选项,进入到镜像加速器选项,可以看到加速器地址,可以根据提示的修改步骤进行修

    2024年02月08日
    浏览(57)
  • containerd拉取私库镜像失败(kubelet)

    最近在跟着高塔老师的教程用二进制的方式搭建k8s kubernetes v1.20.0     我没有使用最新的版本,是因为内部网络问题。 containerd  v1.5.2        之前并没有使用过,但对docker比较熟悉 我所处的环境是一个内网环境,无法连接互联网,更无法连接国际互联网, 内网环境下部署了

    2024年02月09日
    浏览(40)
  • kubernetes配置imagePullSecrets秘钥来拉取镜像

    imagePullSecret资源将Secret提供的密码传递给kubelet从而在拉取镜像前完成必要的认证过程,简单说就是你的镜像仓库是私有的,每次拉取是需要认证的。 创建docker-registry类型的Secret对象,并在定义pod资源时明确通过\\\"imagePullSecrets\\\"字段来申明使用哪个私钥去认证; 创建docker-regis

    2024年02月16日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包