在Linux盒子中启动minikube需要通过谷歌容器注册表认证,为什么?

问题描述 投票:1回答:1

我目前正在学习Kubernetes,我正在玩minikube工具。我决定将该工具安装在一个运行ubuntuxenial64的VirtualBox实例中。我已经使用Vagrant创建了这个实例,并通过ssh连接了这个实例。https:/minikube.sigs.k8s.iodocsstart。.当我运行:$ 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注册表(谷歌容器注册表)进行认证。minikube文档中没有提到这个要求。我想知道为什么会出现这种情况。我的理解是,为了使用minikube,不应该强制要求有gsr账户。我做错了什么? minikube所依赖的kicbase容器(KIC)是什么?谢谢你的帮助。

docker kubernetes virtualbox minikube google-container-registry
1个回答
1
投票

它不是要求你登录到gcr.io。它是回落到使用github注册表的镜像。而github至少需要读取权限才能拉取图片。https:/github.comkubernetesminikubepull8225


1
投票

第一个答案只解释了这里的部分问题。你真正的问题是,你可能需要一个代理来和 gcr.io/k8s-minikube/kicbase 或者你在受限的网络中),这里提到。https:/github.comkubernetesminikubeissues8124#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"

我还建议你检查一下你的docker上的图片(docker images)和删除(docker rmi)的旧版本。kicbase 我这里有v0.0.7、v0.0.8和v0.0.10版本)。

如果连手册 docker pull 并不能解决你的问题,你将真的需要设置一个代理。有一个很好的参考如何做到这一点。此处.

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

© www.soinside.com 2019 - 2024. All rights reserved.