Kubernetes - это система оркестровки контейнеров для автоматизации развертывания, масштабирования и управления контейнерными приложениями. Kubernetes лучше всего работает в средах с высокой доступностью и балансировкой нагрузки.
Как упоминалось в @jaxxstorm, облачные провайдеры дают вам возможность использовать собственные балансировщики нагрузки, и я также считаю, что это хороший полюс позиция с попыткой высокой доступности. Возможно, вас заинтересует документация по GCP.
Kubeadm в домашней среде Kubernetes требует дополнительной работы, и, с моей точки зрения, неплохо настроить Kubernetes The Hardway затем начинает играть с Kubeadm < / а>.
Хорошо, я предполагаю, что серверы для установки готовы. Чтобы создать несложную установку кластера с несколькими главными серверами, вам потребуется 3 главных узла (10.0.0.50-52) и балансировщик нагрузки (10.0.0.200).
Сгенерируйте токен и сохраните результат в файл:
kubeadm token generate
Создайте файл конфигурации kubeadm:
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
etcd:
endpoints:
- "http://10.0.0.50:2379"
- "http://10.0.0.51:2379"
- "http://10.0.0.52:2379"
apiServerExtraArgs:
apiserver-count: "3"
apiServerCertSANs:
- "10.0.0.50"
- "10.0.0.51"
- "10.0.0.52"
- "10.0.0.200"
- "127.0.0.1"
token: "YOUR KUBEADM TOKEN"
tokenTTL: "0"
Скопируйте файл конфигурации на все узлы.
Выполните инициализацию на первом главном экземпляре:
kubeadm init --config /path/to/config.yaml
Новый главный экземпляр будет иметь все сертификаты и ключи, необходимые для нашего главного кластера.
Скопируйте структуру каталогов /etc/kubernetes/pki
на другие мастера в то же место.
На других главных серверах:
kubeadm init --config /path/to/config.yaml
Теперь приступим к настройке балансировщика нагрузки:
Скопируйте /etc/kubernetes/admin.conf
в $HOME/.kube/config
затем отредактируйте $HOME/.config
и замените
сервер: 10.0.0.50
с участием
сервер: 10.0.0.200
Проверьте, нормально ли работают узлы:
kubectl get nodes
На всех рабочих выполнить:
kubeadm join --token YOUR_CLUSTER_TOKEN 10.0.0.200:6443 --discovery-token-ca-cert-hash sha256:89870e4215b92262c5093b3f4f6d57be8580c3442ed6c8b00b0b30822c41e5b3
И это все! Если все было настроено чисто, теперь у вас должен быть высокодоступный кластер.
Мне показалось полезным руководство по "HA Kubernetes cluster via Kubeadm" , спасибо, @Nate Baker за вдохновение.
person
d0bry
schedule
10.07.2018