热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ImagePullBackOff错误GoogleKubernetesEngine

如何解决《ImagePullBackOff错误GoogleKubernetesEngine》经验,为你挑选了1个好方法。

我知道很多人已经有类似的问题了,我读了一些,但到目前为止找不到什么实际帮助我.

我有一个启用私人仓库的gitlab,我也使用Google Kubernetes Engine.我的私人仓库中有一些Docker容器,我想将其中一个部署到Kubernetes Engine.

我创建了一个秘密,kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt 我也试过kubectl create secret docker-registry name --docker-server=registry.xy.z --docker-username=google --docker-password=xyz --docker-email=xy@z.de 然后我创建了我的部署文件:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: backend-test
labels:
app: 13371337
spec:
replicas: 1
template:
metadata:
labels:
app: 13371337
spec:
  containers:
  - name: backend
    image: registry.xy.z/group/project/backend:latest
    imagePullPolicy: Always
    ports:
    - containerPort: 8080
  imagePullSecrets:
  - name: db-user-pass or name

任何想法如何让它运行?



1> Anton Kosten..:

使用kubectl create secret docker-registry name是提供私有docker注册表凭据的正确方法.

imagePullSecrets 如果你指定了docker-registry秘密的名称,那么选项看起来也不错.

所以,从Kubernetes路径看起来一切都很好.

尝试检查将由部署创建的pod的事件,只需找到你kubectl get pods并通过电话kubectl describe pod $name_of_your_pod,您将看到它无法拉动图像的实际原因.

此外,如果您的存储库不安全或具有自签名证书,请尝试遵循该指南以允许docker守护程序从那里提取图像,这通常是图像拉动失败的原因.


谢谢,现在信息已满。奇怪,但我在这里看不到任何秘密。也许是某个地方错过了。您能叫`kubectl patch serviceaccount default -p'{“ imagePullSecrets”:[{“ name”:“ YOU_SECRET_NAME”}]}''`,其中YOUR_SECRET_NAME是docker-registry secret的名称(您之前创建它是我了解)并删除当前的广告连播。该命令会将您的秘密攻击到您的默认服务帐户,并且K8s将始终默认使用该秘密,而无需进行任何其他设置。
推荐阅读
author-avatar
我-是二毛控控控_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有