
# 事件一：重新拉取镜像失败
工作负载详情中，如果事件中提示"重新拉取镜像失败"，请参照如下方式来排查原因。
#### 排查项一：kubectl创建工作负载时未指定imagePullSecret
以创建一个名为nginx的deployment为例，请排查yaml文件中是否存在**imagePullSecrets**字段（如下yaml示例中的加粗字段），表示pull镜像时的secret名称。
需要使用[容器镜像服务](https://www.huaweicloud.com/product/swr.html)的镜像时，参数值固定为**imagepull-secret**。
```
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx:alpine
        imagePullPolicy: Always
        name: nginx
      imagePullSecrets:
        - name: imagepull-secret
```
#### 排查项二：填写的镜像地址错误
CCI支持拉取[容器镜像服务](https://www.huaweicloud.com/product/swr.html)中的镜像来创建工作负载。
容器镜像服务中的镜像需要使用镜像的"下载指令"，上传镜像后，您可以在容器镜像服务的镜像中获取，如下图所示。
图1镜像地址   
![](https://support.huaweicloud.com/cci_faq/zh-cn_image_0163997444.png)
#### 排查项三：IAM用户没有镜像下载权限
如果您开通了企业管理，您需要在账号下的容器镜像服务中给IAM用户添加权限，IAM用户才能使用账号下的私有镜像。
给IAM用户添加权限有如下两种方法：
- 在镜像详情中为IAM用户添加授权，授权完成后，IAM用户享有读取/编辑/管理该镜像的权限，具体请参见[在镜像详情中添加授权](https://support.huaweicloud.com/usermanual-swr/swr_01_0015.html)。
- 在组织中为IAM用户添加授权，使IAM用户对组织内所有镜像享有读取/编辑/管理的权限，具体请参见[在组织中添加授权](https://support.huaweicloud.com/usermanual-swr/swr_01_0015.html)。
 
#### 排查项四：镜像打包使用的docker版本过低
业务负载拉取镜像失败，报错信息如下：
failed to pull and unpack image "\*\*\*\*": failed to unpack image on snapshotter devmapper: failed to extract layer
sha256:xxxxxx: failed to get reader from content store: content digest sha256:xxxxxx: not found
错误如下图所示：
图2报错信息   
![](https://support.huaweicloud.com/cci_faq/zh-cn_image_0000001285971957.png)
该错误出现的原因：镜像构建时使用的docker版本过低（\<v1.10），部分镜像打包标准社区已经不再支持。
解决方案：请使用新版本 docker 运行时（\>= docker v1.11）重新构建镜像后上传到SWR（容器镜像服务），升级负载镜像版本，重新拉取即可。
