gpt4 book ai didi

azure - Kubernetes 中出现 "containers with unready status: []"错误

转载 作者:行者123 更新时间:2023-12-03 02:53:32 25 4
gpt4 key购买 nike

我正在尝试在 AKS 中部署 Kubernetes Pod(我是 Kubernetes 新手,所以在这个阶段,我只想创建一个容器,部署到 Kubernetes 并连接到它)。

我的Yaml文件如下:

apiVersion: v1
kind: Pod
spec:
containers:
- name: dockertest20190205080020
image: dockertest20190205080020.azurecr.io
ports:
- containerPort: 443
metadata:
name: my-test

我已在 Azure 容器注册表中创建了镜像,并根据 CLI 成功将其部署到 Kubernetes。

部署后,我使用了以下命令:

kubectl get service

它告诉我没有可连接的外部 IP。然后我尝试了:

kubectl describe pod my-test

出现以下错误:

 Events:
Warning Failed 4m (x2221 over 8h) kubelet, aks-nodepool1-27401563-2 Error: ImagePullBackOff
Normal BackOff 0s (x2242 over 8h) kubelet, aks-nodepool1-27401563-2 Back-off pulling image "dockertest20190205080020.azurecr.io"

然后我尝试编辑部署:

kubectl edit pods my-test

我的错误是哪个游戏:

message: 'containers with unready status: [dockertest20190205080020]'

我不太确定下一步的诊断步骤是什么。我感觉容器或容器注册表存在问题,但我不确定如何确定问题所在。

最佳答案

这里发生的情况(最有可能) - 您的 AKS 无权从您的 ACR 中提取图像(这是默认行为)。您需要授予这些权限( link ):

#!/bin/bash

AKS_RESOURCE_GROUP=myAKSResourceGroup
AKS_CLUSTER_NAME=myAKSCluster
ACR_RESOURCE_GROUP=myACRResourceGroup
ACR_NAME=myACRRegistry

# Get the id of the service principal configured for AKS
CLIENT_ID=$(az aks show --resource-group $AKS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME --query "servicePrincipalProfile.clientId" --output tsv)

# Get the ACR registry resource id
ACR_ID=$(az acr show --name $ACR_NAME --resource-group $ACR_RESOURCE_GROUP --query "id" --output tsv)

# Create role assignment
az role assignment create --assignee $CLIENT_ID --role acrpull --scope $ACR_ID

替代方法是仅使用 docker 登录密码(该文章也提到了这一点)。

ACR 中的示例图像: enter image description here

图像名称为

clrtacr.azurecr.io/dns:tag(最新版本不带标签)

关于azure - Kubernetes 中出现 "containers with unready status: []"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54579188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com