工作负载状态异常时,建议先查看K8S事件以便于确定导致异常的初步原因,再参照如下排查思路解决问题,查看K8S事件的方法请参见查看K8S事件,初步定位异常原因。
以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。
如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。
当工作负载状态异常并显示“重新拉取镜像失败”的K8S事件时,请排查yaml文件中是否存在imagePullSecrets字段。
排查事项:
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx spec: replicas: 1 selector: matchLabels: app: nginx strategy: type: RollingUpdate template: metadata: labels: app: nginx spec: containers: - image: nginx imagePullPolicy: Always name: nginx imagePullSecrets: - name: default-secret
kubectl创建工作负载拉取第三方镜像时,需指定的imagePullSecret字段,name表示pull镜像时的secret名称,创建密钥的方法请参见使用kubectl创建第三方镜像仓库的密钥。
CCE支持拉取第三方镜像仓库(即华为云镜像仓库与开源镜像中心之外的镜像仓库)中的镜像来创建工作负载。
在填写第三方镜像的地址时,请参照要求的格式来填写。镜像地址格式为:ip:port/path/name:version或name:version,若没标注版本号则默认版本号为latest。
镜像地址配置有误找不到镜像导致失败,Kubernetes Event中提示如下信息:
Failed to pull image "nginx:v1.1": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io: no such host
解决方案:
可编辑yaml修改镜像地址,也可在工作负载详情页面更新升级页签单击更换镜像。
通常第三方镜像仓库都必须经过认证(帐号密码)才可以访问,而CCE中容器拉取镜像是使用密钥认证方式,这就要求在拉取镜像前必须先创建镜像仓库的密钥。
解决方案:
若您的密钥错误将会导致镜像拉取失败,请重新获取密钥。
创建密钥的方法请参见使用kubectl创建第三方镜像仓库的密钥。
在v1.7.3-r7版本后的集群中新建节点后,会给节点绑定一个100G的docker专用数据盘。若数据盘空间不足,会导致重新拉取镜像失败。
当k8s事件中包含以下信息,表明节点上用于存储镜像的磁盘空间已满,需要清理镜像,或扩容磁盘。
确认节点上存储镜像的磁盘空间的命令为:lvs
清理镜像的命令为:
docker rmi –f {镜像ID}
扩容磁盘的操作步骤如下:
详情请参见:登录节点
pvresize /dev/vdb lvextend -l+100%FREE -n vgpaas/thinpool
如果上述方法均不能解决您的疑问,请提交工单寻求更多帮助。
通过期望实例数功能,您可以一键设定伸缩组内的ECS实例数量,同时灵活地执行并行...
近日,一月一更新的 TIOBE 编程社区揭晓了2021年2月各大编程语言的排行情况,从...
前言 阿里云SLS作为一站式的可观测性平台 用户将日志数据 时序数据 Trace数据都...
TOP云 (west.cn)12月12日消息,据外媒消息,近日亚马逊和谷歌战争升级,随着谷...
服务器托管 对于一些数据比较大,流量比较大,应用比较广的系统应用很有帮助,用...
虽然云和容器的崛起,容器成了日常。容器的安全要求也随之而来,如何确定一个最适...
在最近的一次谈话中,Facebook人工智能研究科学家Moustapha Ciss告诉我,你吃什...
11月19日上午,2020中国5G﹢工业互联网大会“智见未来——工业互联网标识专题会...
据行业报道称,Intel计划将在2013年、2014年连续发布22nm Silvermont、14nm Airm...
简介 在伸缩组中,您可以指定某台子机在缩容活动时不被缩容掉。当缩容活动发生时...