启动 minikube 时设置为 --kubernetes-version v1.7.6,由于 kubeadm 尝试使用 kube-dns,启动失败

启动 minikube 时设置为 --kubernetes-version v1.7.6,由于 kubeadm 尝试使用 kube-dns,启动失败

在我的 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,解决了这个问题。我昨天试过了,但没有回溯到足够远的时间。

相关内容