【问题标题】:Azure Container status waiting due to the ImagePullBackOff由于 ImagePullBackOff,Azure 容器状态正在等待
【发布时间】:2020-05-07 15:46:15
【问题描述】:

我是 Azure AKS 和 docker 的新手。我按照this 文章中的步骤操作。

最后,我完成了所有步骤,得到了这个状态。

但是外部 IP 并没有给出实际的输出。我检查了 Azure 门户,容器状态正在等待。我这里有什么遗漏吗?

【问题讨论】:

  • 你等了多久?
  • 你真的把容器推送到ACR了吗?
  • 我做了这两件事 docker push mywebregistry.azurecr.io/backend:v1 docker push mywebregistry.azurecr.io/frontend:v1 还有什么我错过的吗?
  • @ArghyaSadhu 是的,我等一小时。
  • 两种可能性: 1. 您的 docker 映像位于私有注册表(例如 ACR)中,您需要为其提供注册表凭据。 2. 你的形象在某种程度上被破坏了。你能检查 pod 日志吗? kubectl get pods,然后是kubectl logs <pod-name>

标签: azure docker kubernetes .net-core azure-aks


【解决方案1】:

需要验证才能从 ACR 中提取图像。我们必须为身份验证创建一个 docker-registry 密码。为此,请在 Azure 门户上打开 Cloud Shell 并运行以下命令。

> kubectl create secret docker-registry mysecretname  --docker-server=myacrname.azurecr.io --docker-username=myacrname--docker-password=myacrpwd --docker-email=myportalemail

不要忘记更改您的密码和电子邮件地址。 要访问您的密码,请访问您的 Azure 容器注册表,请访问 https://portal.azure.com/ » 您的容器注册表 » 访问密钥

最后确保你的kubernetes yaml文件中的docker镜像url是对的

https://github.com/husseinsa/kubernetes-multi-container-app/blob/master/k8/frontend.yaml https://github.com/husseinsa/kubernetes-multi-container-app/blob/master/k8/backend.yaml

spec:
  containers:
  - name: backend
    image: mywebregistry.azurecr.io/backend:v1
    ports:
    - containerPort: 80

将您的图像 url 放入确保容器注册表中

【讨论】:

    猜你喜欢
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 2021-07-13
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多