首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kubernetes无法拉取镜像运行pod

kubernetes无法拉取镜像运行pod
EN

Stack Overflow用户
提问于 2018-08-03 00:51:10
回答 2查看 432关注 0票数 0

Pod详细信息图像

无法拉取图像该图像已通过docker for windows推送到azure注册表中。提供的镜像名称:在标记过程中通过docker提供

EN

回答 2

Stack Overflow用户

发布于 2018-08-03 02:28:48

您目前提供的细节很少。

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

http://docs.heptio.com/content/private-registries/pr-docker-hub.html

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

票数 0
EN

Stack Overflow用户

发布于 2018-08-03 15:59:19

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

我用Kubernetes中的一个包含.dockerconfig.json的秘密来做这件事:

代码语言:javascript
复制
apiVersion: v1
data:
  .dockerconfigjson: <REDACTED>

为了创建这种类型的秘密,我使用了这样的模板:

代码语言:javascript
复制
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>

创建完成后,您需要将secret挂载到相关的pod/部署。在pod规范中,您将需要:

代码语言:javascript
复制
imagePullSecrets:
      - name: <SECRET_NAME>

(这是一个列表,因为你可以挂载许多秘密来从其他地方获取)

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

因此,我认为我们需要找出您的docker镜像托管在哪里,以及是否需要凭据才能拉取该镜像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51658693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档