k8s镜像拉取策略 - imagePullPolicy

镜像拉取方式选择
k8s-imagePullPolicy

  containers:
    - name: uses-private-image
      image: $PRIVATE_IMAGE_NAME
      imagePullPolicy: Always
      command: [ "echo", "SUCCESS" ]

k8s的配置文件中经常看到有imagePullPolicy属性,这个属性是描述镜像的拉取策略

  • Always 总是拉取镜像
  • IfNotPresent 本地有则使用本地镜像,不拉取
  • Never 只使用本地镜像,从不拉取,即使本地没有
  • 如果省略imagePullPolicy,  策略为always 

官方文档:https://kubernetes.io/docs/concepts/containers/images

The default pull policy is IfNotPresent which causes the kubelet to skip pulling an image if it already exists. If you would like to always force a pull, you can do one of the following:

set the imagePullPolicy of the container to Always.
omit the imagePullPolicy and use :latest as the tag for the image to use.
omit the imagePullPolicy and the tag for the image to use.
enable the AlwaysPullImages admission controller.
When imagePullPolicy is defined without a specific value, it is also set to Always.

 

k8s镜像拉取总结

1. docker images 本地的镜像确实有,但是kubectl apply 时一直提示pull fail:

   我这边情况是,刚开始没有使用镜像仓库(也不懂),在masters上docker images时,master节点上确实有这个镜像,但是部署时是部署到node节点的,node节点上并没有这个镜像,所以会报错

    解决这个问题有两个方法:

        1. 在node节点上也做一份镜像,问题是节点多了麻烦

        2. 使用镜像仓库(建议)

2. 当我使用镜像仓库时,更新了某个镜像之后,重新apply镜像还是没变,这个问题跟第一个问题一样,都是node节点上的镜像跟预期的不一样,解决这个问题就一个思路,让它从仓库拉镜像:

       1. 删除node节点镜像

       2. 容器的imagePullPolicy值设置为Always,让它每次都从仓库上面拉镜像。

Kubernetes (k8s) 是一个开源的容器编排系统,它允许在多个节点上管理和部署容器化的应用程序。镜像失败在 k8s 中通常指的是当 pod 或 deployment 的定义中指定了某个容器需要从 Docker Hub 或其他私有 registry 获镜像,但这个过程由于网络问题、权限限制或者镜像不存在等原因没有成功。 具体可能的原因包括: 1. **网络问题**:节点的网络连接不稳定或防火墙规则阻止了对镜像仓库的访问。 2. **镜像不存在或版本错误**:指定的镜像名称、标签或 digest 错误,或者镜像已经从仓库删除。 3. **认证问题**:如果你使用的是私有 registry,可能需要提供正确的凭证(如认证令牌)。 4. **存储空间不足**:节点磁盘空间不足以下载镜像。 5. **镜像策略**:例如,如果配置了缓存策略镜像未被正确地缓存或者过期。 处理这种问题的步骤可能包括: - **检查日志**:查看 k8s 控制面板的日志输出,找出具体的错误信息。 - **网络诊断**:确保集群的网络连接正常,代理服务器和 DNS 配置正确。 - **镜像更新**:确认镜像的名称、标签是否正确,并且镜像版本是最新的。 - **凭证管理**:如果涉及到私有 registry,检查并更新相应的认证信息。 - **资源管理**:检查节点的存储空间,如有必要,清理一些不必要的文件或增大存储配额。 如果你想要了解更详细的解决方案或想进一步探究问题,请告诉我,我会给出更针对性的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络飞鸥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值