首先,我创建了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**
答案 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