繁体   English   中英

在 Linux 框中启动 minikube 需要使用 Google Container Registry 进行身份验证,为什么?

[英]Starting minikube in a Linux box requires authentication with Google Container Registry, why?

我目前正在学习 Kubernetes 并且正在使用 minikube 工具。 我决定将该工具安装在运行 ubuntu/xenial64 的 VirtualBox 实例中。 我使用 Vagrant 创建了这个实例,并通过 ssh 连接了该实例。 我已经按照工具文档 - https://minikube.sigs.k8s.io/docs/start/ 安装了 minikube 当我运行: $ minikube start ,它失败并显示以下消息:

$ minikube start
😄  minikube v1.11.0 on Ubuntu 16.04 (vbox/amd64)
✨  Using the docker driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🚜  Pulling base image ...
📶  Unfortunately, could not download the base image gcr.io/k8s-minikube/kicbase:v0.0.10 
❗  In order to use the fall back image, you need to log in to the github packages registry
📘  Please visit the following link for documentation around this: 
    https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-docker-for-use-with-github-packages#authenticating-to-github-packages

💡  Please either authenticate to the registry or use --base-image flag to use a different registry.

出于某种原因,为了下载 minikube 基础镜像,它需要通过 gcr.io 注册表(Google Container Registry)进行身份验证。 minikube 文档并没有提到这个要求。 我想知道为什么会这样。 我的理解是,为了使用 minikube,拥有一个 gsr 帐户不应该是强制性的。 我究竟做错了什么? 而 minikube 所依赖的 kicbase 容器(KIC)又是什么? 感谢您对这个问题的任何帮助。 谢谢你。

第一个答案在这里只解释了部分问题。 您真正的问题是您可能需要代理与gcr.io/k8s-minikube/kicbase通信(或者您在受限网络中),如此处所述: https://github.com/kubernetes/minikube/issues/ 8124#issuecomment-628172092 如果您在 VPN 下运行,则尤其如此。

就我而言,我能够docker pullkicbase图像,而无需代理

$ docker pull gcr.io/k8s-minikube/kicbase:v0.0.10
Trying to pull repository gcr.io/k8s-minikube/kicbase ... 
v0.0.10: Pulling from gcr.io/k8s-minikube/kicbase
Digest: sha256:f58e0c4662bac8a9b5dda7984b185bad8502ade5d9fa364bf2755d636ab51438
Status: Image is up to date for gcr.io/k8s-minikube/kicbase:v0.0.10

然后,我可以使用以下命令启动 minikube:

$ minikube start --base-image=gcr.io/k8s-minikube/kicbase:v0.0.10
😄  minikube v1.11.0 on Centos 7.8.2003
✨  Using the docker driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🔥  Creating docker container (CPUs=2, Memory=2200MB) ...
🐳  Preparing Kubernetes v1.18.3 on Docker 19.03.2 ...
    ▪ kubeadm.pod-network-cidr=10.244.0.0/16
🔎  Verifying Kubernetes components...
🌟  Enabled addons: default-storageclass, storage-provisioner
🏄  Done! kubectl is now configured to use "minikube"

I would also recommend you to check the images you have on your docker ( docker images ) and delete ( docker rmi ) old versions of the kicbase (I had here versions v0.0.7, v0.0.8 and v0.0.10).

如果即使手动docker pull也不能为您解决问题,您真的需要设置代理。 有一个很好的参考关于如何做到这一点here

编辑:添加了一些关于如何配置代理的信息。

它不要求您登录 gcr.io。 它正在回退为图像使用 github 注册表。 而 github 至少需要读取权限才能拉取图像。 https://github.com/kubernetes/minikube/pull/8225

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM