无法在kubernetes中拉取映像以运行pod

无法在kubernetes中拉取映像以运行pod,kubernetes,Kubernetes,吊舱细节图像 无法提取图像 该映像已通过docker for windows推送到azure注册表中。 提供的图像名称:正如通过docker标记时提供的那样,您目前提供的细节很少 您的kubernetes群集是否正确配置为从azure注册表中提取映像?就我所知不是。这是一个托管AKS k8s群集吗?否则,默认情况下将无法访问您的专用azure注册表,并且需要使用访问您的专用azure注册表所需的凭据进行配置 另一种可能是将基于Windows的容器推送到基于linux的工作节点上,这些工作节点只

吊舱细节图像 无法提取图像 该映像已通过docker for windows推送到azure注册表中。
提供的图像名称:正如通过docker标记时提供的那样,您目前提供的细节很少

您的kubernetes群集是否正确配置为从azure注册表中提取映像?就我所知不是。这是一个托管AKS k8s群集吗?否则,默认情况下将无法访问您的专用azure注册表,并且需要使用访问您的专用azure注册表所需的凭据进行配置


另一种可能是将基于Windows的容器推送到基于linux的工作节点上,这些工作节点只能运行基于linux的容器

我只有GKE方面的经验,但如果您想从与GKE集群不在同一项目中的存储库中提取docker映像,则必须提供要提取的映像的凭据

我使用Kubernetes中包含.dockerconfig.json的一个秘密来实现这一点:

apiVersion: v1
data:
  .dockerconfigjson: <REDACTED>
apiVersion:v1 数据: .dockerconfigjson: 为了创建这种类型的秘密,我使用了如下模板:

kubectl create secret docker-registry <SECRET_NAME> \
  --docker-server=https://gcr.io \
  --docker-username=_json_key \
  --docker-email=<SVC_ACCOUNT_EMAIL> \
  --docker-password=<CONTENTS_OF_SVC_ACCOUNT_CREDS_FILE>
kubectl创建秘密docker注册表\
--docker服务器=https://gcr.io \
--docker用户名=_json_密钥\
--docker电子邮件=\
--docker密码=
一旦创建,您将需要装载到相关POD/部署的机密。在pod规范中,您需要:

imagePullSecrets:
      - name: <SECRET_NAME>
imagePullSecrets:
-姓名:
(这是一个列表,因为你可以从其他地方收集很多秘密)

我想象azure有一个类似的设置,在这个设置中,与集群相同的项目中的任何图像都可以被提取。但任何托管在另一个azure项目或外部映像回购中的映像都需要凭据。 我使用描述的设置将google容器注册表图像拉到本地minikube


因此,我认为我们需要确定docker映像的托管位置,以及是否需要凭据来提取该映像。

群集由AKS k8s群集管理,并且可以在本地成功提取映像。如何验证kubernetes群集是否正确配置为拉取映像?这是唯一存在问题的部署还是所有部署都无法拉取?您可能想尝试部署一个简单的hello world应用程序。您的容器的基本映像是什么?我这样问是因为您可能正在将Windows容器推送到Linux节点。映像和群集都在同一个注册表中。啊,好的,我想您已经尝试了这里提供的最小选项: