kubernetes - minikube 启动失败解决方法清除传递给 kubeadm init 的所有参数
问题描述
这是我正在使用的版本
Docker-ce
Client:
Version: 17.06.1-ce
Server:
Engine:
Version: 17.06.1-ce
迷你库:
kubectl
库贝尔:
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
库比德姆:
kubeadm version: &version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
虚拟盒子:
Version 5.2.18 r124319 (Qt5.6.2)
我碰巧需要指定以下内容:
kubeadm reset
kubeadm init --pod-network-cidr=192.168.0.0/16
但是,当我然后启动 minikube 时,它总是失败并显示以下内容:
kubeconfig file "/etc/kubernetes/admin.conf" exists already but has got the wrong CA cert
我能找到的解决方法是删除所有.conf
文件/etc/kubernetes
cd /etc/kubernetes/
sudo rm *.conf
cd
sudo minikube delete # may also need rm -rf ~/.minikube
sudo minikube start --vm-driver=none
但是会生成新的配置文件,`/etc/kubernetes/manifest' 下的 .yaml 文件也会生成,因此会删除配置的所有附加属性
到那时为止,这样做kubeadm config view
会显示 kube initpod-network-cidr
参数,但在删除.conf
文件并再次启动 minikube之后不会显示
第一:这个...wrong CA cert
错误是 minikube 的错误吗?
是否有替代解决方法可以保持在 期间传递的额外参数kubeadm init
?
我还尝试将以下 3 个从kube-controller-manager.yaml
文件中清除的属性作为命令的extra-config
参数传递minikube start
--pod-network-cidr=192.168.0.0/16
我能够确定的三个缺失的属性是:
--allocate-node-cidrs=true
--cluster-cidr=192.168.0.0/16
--node-cidr-mask-size=24
我的 mikikube 启动命令如下所示:
sudo minikube start --vm-driver=none --extra-config=controller-manager.allocate-node-cidrs=true, controller-manager.cluster-cidr=192.168.0.0/16, controller-manager.node-cidr-mask-size=24
但是在尝试这个时我得到了进一步的错误
有什么建议么?
解决方案
- 您通常使用 minikube 来设置自己的迷你 kubernetes 集群。通常在您的本地计算机上。
- 您通常使用 kubeadm 来设置自己的完整集群。
- 您通常不会同时使用它们。
希望能帮助到你!
推荐阅读
- c - malloc 和 sizeof 时出现分段错误
- r - 如何用 r 创建世界街道地图?
- java - How to determine program complexity in Big-O when adding to a full ArrayList?
- javascript - jquery 在点击提交时获取答案(从数据库中获取数据)
- python - 为 Mac 导入 geopandas 一直失败 - 所有报告的解决方案都已尝试
- bash - 如何从另一个文件中删除具有匹配模式的行?
- php - 根据选中的复选框进行过滤
- node.js - 从函数nodejs中的mariadb返回值
- javascript - 开玩笑的存根函数
- javascript - NativeScript http.getJSON 和异步等待