文档首页 > > 常见问题> 工作负载类> 工作负载异常> 工作负载异常:重新拉取镜像失败

工作负载异常:重新拉取镜像失败

分享
更新时间:2020/09/18 GMT+08:00

工作负载详情中,若事件中提示重新拉取镜像失败,请参照如下方式来排查原因。

排查项一:kubectl创建工作负载时未指定imagePullSecret

以创建一个名为nginxdeployment为例,请排查yaml文件中是否存在imagePullSecrets字段(如下yaml示例中的标红字段),表示pull镜像时的secret名称。

  • 需要Pull华为云容器镜像仓库的镜像时,参数值固定为default-secret
  • Pull第三方镜像仓库的镜像时,需设置为创建的secret名称。

kubectl创建工作负载拉取第三方镜像时,未指定imagePullSecret字段如下图所示:

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

解决方案:

pull第三方镜像时,需设置创建的secret名称。

排查项二:填写的镜像地址错误(使用第三方镜像时)

CCE支持拉取第三方镜像仓库(即华为云镜像仓库与开源镜像中心之外的镜像仓库)中的镜像来创建工作负载。

在填写第三方镜像的地址时,请参照要求的格式来填写。镜像地址格式为:ip:port/path/name:version 或name:version,若没标注版本号则默认版本号为latest。

  • 若是私有仓库,请填写ip:port/path/name:version。
  • 若是docker开源仓库,请填写name:version,例如nginx:latest。
    图1 第三方镜像

镜像地址配置有误找不到镜像导致失败,Kubernetes Event中提示如下信息:

Failed to pull image "nginx:v1.1": rpc error:code = Unknown desc=Error response from daemon: manifest for nginx:v1.1 not found

解决方案:

可编辑yaml修改镜像地址,也可在工作负载详情页面更新升级页签单击更换镜像。

排查项三:使用错误的密钥和密钥过期(使用第三方镜像时)

CCE支持拉取第三方镜像仓库(即华为云镜像仓库与开源镜像中心之外的镜像仓库)中的镜像来创建工作负载。

解决方案:

通常第三方镜像仓库都必须经过认证(帐号密码)才可以访问,而CCE中容器拉取镜像是使用密钥认证方式,这就要求在拉取镜像前必须先创建镜像仓库的密钥。

若您的密钥错误或者过期将会导致镜像拉取失败,请重新获取密钥。创建密钥的步骤请参见使用kubectl创建第三方镜像仓库的密钥

排查项四:节点磁盘空间不足

在v1.7.3-r7版本后的集群中新建节点后,会给节点绑定一个100G的docker专用数据盘。若数据盘空间不足,会导致重新拉取镜像失败。

图2 数据盘

当k8s事件中包含以下信息,表明节点上用于存储镜像的磁盘空间已满,需要清理镜像,或扩容磁盘。

确认节点上存储镜像的磁盘空间的命令为:lvs

清理镜像的命令为:

docker rmi –f {镜像ID}

扩容磁盘的操作步骤如下:

  1. 在EVS界面扩容docker盘。
  2. 登录目标节点。

    详情请参见:登录节点

  3. 然后在节点上执行如下命令, 将新增的磁盘容量加到docker盘上。

    pvresize /dev/vdb
    lvextend -l+100%FREE -n vgpaas/thinpool

分享:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问