从azure容器注册表中提取图像时的imagepullbackoff

时间:2017-06-06 09:15:16

标签: azure docker kubernetes

首先,我创建了docker镜像,并在azure容器服务中创建了kubernetes集群。 然后标记并将图像推送到我的存储库,但是在将我的图像从azure容器注册表中拉到kubernetes集群时,会创建pod,但状态显示imagepullback off

基本api图像的yaml文件

**apiVersion: v1
kind: Pod
metadata:
  name: myapis
spec:
  containers:
    - name: myapis
      image: ciqsample.azurecr.io/myapis
  imagePullSecrets:
    - name: samplekey**

2 个答案:

答案 0 :(得分:3)

您可能需要附加容器注册表本身。

az aks update -n myAKSCluster -g myResourceGroup --attach-acr $MYACR

$ MYACR->不带“ .azurecr.io”后缀的容器注册表的名称

答案 1 :(得分:1)

此错误表示我们使用错误的密钥和密码来提取图像 您是否可以运行此命令以检查秘密是否存在?kubectl get secret

root@k8s-master-BBF71727-0:~# kubectl get secret
NAME                  TYPE                                  DATA      AGE
azurecr               kubernetes.io/dockercfg               1         57m
default-token-clm2d   kubernetes.io/service-account-token   3         2h

然后检查这个秘密。

root@k8s-master-BBF71727-0:~# kubectl get secret azurecr --output=yaml

我们可以使用此命令脚本创建 secret:

kubectl create secret docker-register yoursecretname --docker-server=jason.azurecr.io/xxxx/test --docker-username={UserName} --docker-password={Password} --docker-email=team@domain.com

顺便说一下,请使用您的注册表凭据测试login Azure容器注册表,然后尝试从Azure容器注册表中提取图像。
登录
docker login myregistry.azurecr.io -u xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -p myPassword

从您的注册表中提取图像

docker pull myregistry.azurecr.io/samples/nginx