在我的 Mac 和 Linux 机器(Linux Mint 18.3 Sylvia)上,尝试启动与 v.1.7.6 兼容的 minikube 时,尝试运行命令时启动失败/usr/bin/kubeadm alpha phase addon kube-dns
。问题是这kube-dns
似乎不是 kubernetes 1.7.x 中 kubeadm 的有效选项。
根据网络上的建议,我尝试使用--bootstrapper=localkube
,但失败并显示以下消息Error getting cluster bootstrapper: Unknown bootstrapper: localkube.
有没有办法让 minikube 与 1.7.6 兼容?我们的生产集群中运行的是 1.7.x,因此为了测试兼容性,需要运行此版本的 minikube。
这是我尝试过的一个变体
$ minikube stop && minikube delete && rm -rf ~/.minikube && rm -rf ~/.kube
$ minikube start --kubernetes-version v1.7.6
Starting local Kubernetes v1.7.6 cluster...
Starting VM...
Downloading Minikube ISO
170.78 MB / 170.78 MB [============================================] 100.00% 0s
Getting VM IP address...
Moving files into cluster...
Downloading kubeadm v1.7.6
Downloading kubelet v1.7.6
Finished Downloading kubeadm v1.7.6
Finished Downloading kubelet v1.7.6
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
E1019 08:40:54.829107 13340 start.go:297] Error starting
cluster: kubeadm init error
sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --skip-
preflight-checks &&
sudo /usr/bin/kubeadm alpha phase addon kube-dns
running command: : running command:
sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --skip-preflight-checks &&
sudo /usr/bin/kubeadm alpha phase addon kube-dns
当我登录集群时,我可以验证 kube-dns 不是一个有效的选项。
$ minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ /usr/bin/kubeadm alpha phase addon --help
Invoke subsets of kubeadm functions separately for a manual install.
Usage:
kubeadm alpha phase [flags]
kubeadm alpha phase [command]
Available Commands:
certs Generate certificates for a Kubernetes cluster.
kubeconfig Create KubeConfig files from given credentials.
validate Run end to end validation
Use "kubeadm alpha phase [command] --help" for more information about a command.
如果我只是采用默认值 1.10.0,minikube 确实会启动,但我的应用程序遇到了问题,这可能是由于 kubernetes api 更改造成的。
提前致谢
答案1
看来解决问题的最好方法是询问别人,然后答案就会出现在你面前。
我下载了 minikube 的旧版本 v0.25.2,解决了这个问题。我昨天试过了,但没有回溯到足够远的时间。