Чтобы понять немного больше об облачных технологиях, я пытаюсь создать кластер высокой доступности Kubernetes, используя 6 Raspberry Pi 3. Цель - 3 сложенных мастера и 3 рабочих.
Я следовал инструкциям по адресу: 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
Как будто даже не пытается.
Если я исключу директиву controlPlaneEndpoint из kubeadm-conf.yaml, она будет развернута правильно, но тогда я не смогу добавить другие мастера без ошибок из 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
Я ожидаю, что CoreDNS станет 'Ожидать', пока не будет установлен плагин CNI.
Это сводит меня с ума. Такое ощущение, что это так близко к работе!
Любые указатели приветствуются.
Спасибо
// Фредрик