当前位置: 首页 > news >正文

k8s.gcr.io/pause:3.2镜像丢失解决

文章目录

  • 前言
  • 错误信息
  • 临时解决
  • 推荐解决
    • one
    • two


前言

使用Kubernetes(k8s)时遇到了镜像拉取的问题,导致Pod沙盒创建失败。错误显示在尝试从k8s.gcr.io拉取pause:3.2镜像时遇到了超时问题,这通常是因为网络问题或者镜像仓库服务器的问题。

错误信息

Failed to create pod sandbox: rpc error: code = Unknown desc = failed to get sandbox image “k8s.gcr.io/pause:3.2”: failed to pull image “k8s.gcr.io/pause:3.2”: failed to pull and unpack image “k8s.gcr.io/pause:3.2”: failed to resolve reference “k8s.gcr.io/pause:3.2”: failed to do request: Head “https://k8s.gcr.io/v2/pause/manifests/3.2”: dial tcp 74.125.204.82:443: i/o timeout

在这里插入图片描述

临时解决

拉取镜像,重新tag,国内可以使用阿里云的

# 如果你的k8s使用的事docker客户端
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2 # 如果使用containerd自带客户端
crictl pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2
ctr -n k8s.io i tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2

推荐解决

one

如果您的Kubernetes服务无法重启,您可以尝试创建一个DaemonSet来替换使用的镜像。如您所示的YAML配置,您可以定义一个DaemonSet,将Pod的容器镜像更改为可访问的阿里云镜像。这种方法不需要重启Kubernetes服务,而是一次性更新所有节点的Pod

apiVersion: apps/v1
kind: DaemonSet
metadata:name: example-daemonsetnamespace: default
spec:selector:matchLabels:app: exampletemplate:metadata:labels:app: examplespec:containers:- image: k8s.gcr.io/pause:3.2imagePullPolicy: IfNotPresentname: example-containerresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: FilednsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30updateStrategy:rollingUpdate:maxSurge: 0maxUnavailable: 1type: RollingUpdate

在这里插入图片描述

two

如果您的Kubernetes服务可以重启,您可以修改Kubelet的启动参数,以直接使用阿里云的镜像。这涉及到编辑Kubelet的配置文件,并更改Pod基础设施容器的镜像路径。然后重启Kubelet服务以应用更改。
在执行这些操作时,请注意:

  • 在生产环境中操作前,请确保您理解每个命令的影响
  • 备份当前的配置和状态,以防需要回滚或恢复
  • 确保遵循您组织的安全和配置管理策略。

最后,添加注解可以帮助其他维护者或团队成员理解配置的原因和更改的上下文,这在团队合作和Kubernetes集群维护中是一个好习惯。

# 查看 kubelet 配置
systemctl status kubeletcd /var/lib/kubelet/
cp kubeadm-flags.env kubeadm-flags.env.ori# 把 k8s.gcr.io/pause:3.2 改成 registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2cat /var/lib/kubelet/kubeadm-flags.envKUBELET_KUBEADM_ARGS="--cgroup-driver=systemd --network-plugin=cni --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2"# 重启 kubelet 服务
systemctl daemon-reload
systemctl restart kubelet
http://www.lryc.cn/news/310087.html

相关文章:

  • 全面整理!机器学习常用的回归预测模型
  • 在vue中对keep-alive的理解,它是如何实现的,具体缓存的是什么?
  • 章节一、认识three.js与开发环境学习笔记01;
  • QT摄像头采集
  • C语言第三十四弹---动态内存管理(下)
  • PDN分析及应用系列二-简单5V电源分配-Altium Designer仿真分析-AD
  • Vue开发实例(一)Vue环境搭建第一个项目
  • 将SpringBoot项目改造成solon项目
  • 更详细的软件测试理论基础:流程,开发、测试模型,测试分类,测试用例及其设计方法,缺陷
  • input css padding
  • 如何打印 springboot 框架中 接收请求的日志
  • JVM的内存区域划分
  • YOLOv9有效改进|使用动态蛇形卷积Dynamic Snake Convolution
  • 设计模式学习笔记 - 设计原则 - 1.单一职责原则
  • 飞天使-学以致用-devops知识点4-SpringBoot项目CICD实现(实验失败,了解大概流程)
  • 使用HTML5画布(Canvas)模拟图层(Layers)效果
  • 违背祖训,微软骚操作强制用户更新至 Win 11 23H2
  • MISRA C++ 2023指南:您需要了解的一切
  • Vue:【亲测可用】父组件数组包对象,传给子组件对象,子组件修改属性(字段)后,父组件没有更新
  • hbase学习十:客户端实现与Meta表解析
  • 《OpenScene: 3D Scene Understanding with Open Vocabularies》阅读笔记1
  • 数据结构 - Trie树(字符串统计、最大异或对)
  • 2. vue 工程创建
  • 2024绿色能源、城市规划与环境国际会议(ICGESCE 2024)
  • 0门槛电子画册制作
  • C语言----冒泡排序进阶
  • 【机器学习】实验5,AAAI 会议论文聚类分析
  • 安卓虚拟机ART和Dalvik
  • OPENWRT本地局域网模拟域名多IP
  • 今日学习总结2024.3.2