K8S 自动拉取镜像失败,手动拉取镜像成功

这篇具有很好参考价值的文章主要介绍了K8S 自动拉取镜像失败,手动拉取镜像成功。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题

新创建的Deploy在创建Pod时成功,但Pod报错,提示拉取镜像失败。
通过ssh登录到具体的K8S node上,手动执行docker pull 命令,却能成功拉取到对应的镜像。

原因

根本原因:具体的命名空间缺少imagePullSecrets,不同的命名空间不能直接使用default中的imagePullSecrets。
准备K8S环境时,仅在default 命令空间下创建了image pull secret。而开发人员新建了不同的命名空间来部署不同的微服务,虽然都是同一台harbor仓库,但却因为具体的命名空间无法使用default命名空间中的image pull secret,因此出现了无法自动拉取镜像。
而ssh登陆后执行的docker pull命令并不需要image pull secret,只要事先执行了docker login即可成功拉取镜像。

解决

在K8S-master节点上,针对不同的命名空间创建image pull secret(可以同名)。

kubectl create secret docker-registry  registrysecret --docker-server=<harbor地址>  --docker-username=admin --docker-password=xxxxx -n <命名空间A>
kubectl create secret docker-registry  registrysecret --docker-server=<harbor地址>  --docker-username=admin --docker-password=xxxxx -n <命名空间B>
kubectl create secret docker-registry  registrysecret --docker-server=<harbor地址>  --docker-username=admin --docker-password=xxxxx -n <命名空间C>

相关截图

k8s根据yaml文件创建pod时拉取镜像失败,但是直接docker pull 镜像的话能成功,运维,K8S,kubernetes,eureka,云原生
k8s根据yaml文件创建pod时拉取镜像失败,但是直接docker pull 镜像的话能成功,运维,K8S,kubernetes,eureka,云原生文章来源地址https://www.toymoban.com/news/detail-802134.html

到了这里,关于K8S 自动拉取镜像失败,手动拉取镜像成功的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • k8s手动发布镜像的方法

    编辑对应的文件,并:wq!保存即可

    2024年02月14日
    浏览(35)
  • 解决k8s拉取flannel失败的方法

    k8s版本:1.26.0 flannel:0.20.2 flannel-cni-plugin:v1.1.0 flannel是k8s常用的网络插件,正常的部署步骤为: 打开flannel项目: https://github.com/flannel-io/flannel 按照指引执行: kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml 但是在国内如果按照该步骤,则会显示

    2024年02月16日
    浏览(32)
  • k8s手动下载镜像、通过容器创建镜像方法

    1、首先pull镜像到本地 2、转储镜像 如: 3、解压 补充 1、如果要将tar还原成镜像 或者用输入重定向 1、使用 docker commit 创建镜像 查看容器ID 选择一个具体的运行过的容器,执行docker commit,并且指定镜像标签与版本 2、使用 docker export 和 docker import 创建镜像 查看容器ID 导出容

    2024年02月07日
    浏览(50)
  • K8s拉取Harbor私有仓库镜像

    提示:需要先部署Harbor私有镜像库。 insecure-registries对应可信任的镜像服务地址,如果有多个地址,还可以用“,”隔开,配置多个。 提示:每个k8s节点都需要配置,完成之后需要重启docker服务。 选择需要的命名空间,创建密文。 如果没有密文,后面的配置,都会明文数据

    2024年02月16日
    浏览(48)
  • k8s拉取镜像的策略详解

    imagePullPolicy 是 Kubernetes 中 Deployment 和 Pod 配置中的一个重要字段,用于指定容器拉取镜像的策略。它可以控制 Kubernetes 在何时拉取容器镜像。以下是各个策略的详细说明: Always: 当设置为 \\\"Always\\\" 时,Kubernetes 会始终忽略本地的缓存镜像,每次都重新拉取指定的镜像。这意味着

    2024年02月06日
    浏览(40)
  • 在K8S中,镜像拉取策略有哪些?

    在Kubernetes(简称K8s)中,镜像更新策略主要由 imagePullPolicy 参数控制。当Pod中的容器镜像需要更新时,Kubernetes会根据这个策略决定如何处理镜像拉取行为。 Always : 如果容器的 imagePullPolicy 设置为 Always ,每次创建Pod或者重启容器时,kubelet都会尝试从镜像仓库拉取最新的镜像

    2024年02月19日
    浏览(39)
  • 解决containerd+k8s集群搭建镜像拉取不到的问题

    之前我写了一篇containerd+k8s搭建集群的文章,文章地址: https://blog.csdn.net/m0_51510236/article/details/130842122 在上面这篇文章中有小伙伴给我反映镜像拉取不到的问题,现在我们就来解决这个问题 因为是对上一篇文章拉取不到镜像问题的解决,所以安装前的准备工作请参考上一篇文

    2024年02月09日
    浏览(49)
  • k8s之Pod常用命令详解、镜像拉取策略(imagePullPolicy)

    imagePullPolicy 有三个取值: Always 每次都下载最新镜像 Never 不会尝试获取镜像,如果镜像已经以某种方式存在本地,kubelet 会尝试启动容器;否则,会启动失败 IfNotPresent 只有当镜像在本地不存在时才会拉取 默认镜像拉取策略: 当你(或控制器)向 API 服务器提交一个新的 Po

    2024年02月04日
    浏览(57)
  • k8s 拉取镜像报错 no basic auth credentials

    省流提醒: 本次解决的问题是 docker login 可以正常登录, docker pull 也可以正常拉取镜像,只是 k8s 在启动 pod 的时候,没有指定 imagePullSecrets ,导致没权限拉取 从私有仓库拉取镜像 执行过 docker login 命令后,会在 ~/.docker/config.json 生成凭据文件 参考命令,记得把 去掉 如果有

    2024年02月07日
    浏览(48)
  • debian11 安装 k8s,containerd ,阿里云镜像(已成功)

    系统要求:至少 2GB RAM(建议 4GB 或更多),网络连接。 节点准备:至少 3 台机器,1 台作为 Master 节点,2 台作为 Worker 节点。 安装sudo 设置主机名(在每台机器上): 替换 主机名 为 k8s-master、k8s-node1、k8s-node2 配置 /etc/hosts(在所有节点上): 将所有节点的 IP 地址和主机名

    2024年02月21日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包