Azure容器服务:尝试提取映像失败

时间:2018-07-10 16:06:36

标签: azure kubernetes azure-container-service azure-container-registry

我正在尝试部署我的k8s集群。但是当我这样做时,它无法拉出图像。这是我运行kubectl describe pods时得到的信息:

  Type     Reason      Age               From                   Message
  ----     ------      ----              ----                   -------
  Normal   BackOff     47m               kubelet, dc9ebacs9000  Back-off pulling image "tlk8s.azurecr.io/devicecloudwebapi:v1"
  Warning  FailedSync  9m (x3 over 47m)  kubelet, dc9ebacs9000  Error syncing pod
  Warning  Failed      9m                kubelet, dc9ebacs9000  Failed to pull image "tlk8s.azurecr.io/devicecloudwebapi:v1": [rpc error: code = 2 desc = failed to register layer: re-exec error: exit status 1: output: remove \\?\C:\ProgramData\docker\windowsfilter\930af9d006462c904d9114da95523cc441206db8bb568769f4f0612d3a96da5b\Files\Windows\System32\LogFiles\Scm\SCM.EVM: The system cannot find the file specified., rpc error: code = 2 desc = failed to register layer: re-exec error: exit status 1: output: remove \\?\C:\ProgramData\docker\windowsfilter\e30d44f97c53edf7e91c69f246fe753a84e4cb40899f472f75aae6e6d74b5c45\Files\Windows\System32\LogFiles\Scm\SCM.EVM: The system cannot find the file specified.]
  Normal   Pulling     9m (x3 over 2h)   kubelet, dc9ebacs9000  pulling image "tlk8s.azurecr.io/devicecloudwebapi:v1"

当我看着单个吊舱时,这就是我得到的:

Error from server (BadRequest): container "tl-api" in pod "tl-api-3363368743-d7kjq" is waiting to start: image can't be pulled

这是我的YAML文件:

---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: tl-api
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: tl-api
    spec:
      containers:
      - name: tl-api
        image: tlk8s.azurecr.io/devicecloudwebapi:v1
        ports:
        - containerPort: 80
      imagePullSecrets:
      - name: acr-secret
      nodeSelector:
        beta.kubernetes.io/os: windows
---
apiVersion: v1
kind: Service
metadata:
  name: tl-api
spec:
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: tl-api

我的docker映像结果:

REPOSITORY                                   TAG                            IMAGE ID            CREATED             SIZE
devicecloudwebapi                            latest                         ee3d9c3e231d        8 days ago          7.85GB
tlk8s.azurecr.io/devicecloudwebapi           v1                             ee3d9c3e231d        8 days ago          7.85GB
devicecloudwebapi                            dev                            bb33ab221910        8 days ago          7.76GB

1 个答案:

答案 0 :(得分:0)

首先,我将仔细检查您是否通过cli在正确的注册表中登录了docker。

类似docker login <REGISTRY_NAME> -u <CLIENT_ID>


您将要确保已创建了一个k8s机密并将其绑定到注册表。如果您还没有这样做,请检查this post。我看到您的Yaml指定了一个秘密,但这也在注册表中配置了吗?