为了更多地了解云技术,我正在尝试使用 6 个 Raspberry Pi 3 创建一个 Kubernetes 高可用性集群。目标是 3 个堆叠的 master 和 3 个 worker。
我已按照以下说明操作:https ://kubernetes.io/docs/setup/independent/high-availability/但每当我包含以下内容时:
api:
controlPlaneEndpoint: "master"
在 kubeadm-config.yaml 中,我最终处于未部署 CoreDNS 服务的情况:
root@master-1:~# kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system etcd-master-1 1/1 Running 0 39m
kube-system kube-apiserver-master-1 1/1 Running 0 39m
kube-system kube-controller-manager-master-1 1/1 Running 0 39m
kube-system kube-scheduler-master-1 1/1 Running 0 38m
部署已安装,但由于某种原因,当我使用 controlPlaneEndpoint 指令时它没有被激活。
root@master-1:~# kubectl get deployments -n kube-system
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
coredns 2 0 0 0 41m
就好像它甚至没有尝试过一样。
如果我从 kubeadm-conf.yaml 中排除 controlPlaneEndpoint 指令,则它的部署正确,但是我无法添加其他 master 而不会出现 kube-controller-manager 和 kube-scheduler 的错误
root@master-1:~# kubectl logs -n kube-system kube-controller-manager-master-2
invalid configuration: no configuration has been provided
root@master-1:~# kubectl logs -n kube-system kube-scheduler-master-2
invalid configuration: no configuration has been provided
在安装 CNI 插件之前,我希望 CoreDNS 变为“待处理”。
这让我发疯了。感觉离工作太近了!
欢迎任何指点。
谢谢,
//弗雷德里克