Создание мультимастерного кластера HA Kubernetes с config.yaml - PullRequest
0 голосов
/ 10 мая 2018

Сейчас я изучаю, как создать кластер HA kubernetes с 3 основными и 3 рабочими узлами. Я следую следующей документации,

https://kubernetes.io/docs/setup/independent/high-availability/

Здесь я придерживаюсь второго варианта из документации. Т.е. хостинг кластера etcd на мастер-узлах. Итак, согласно документации, я начинаю с шага - «Запустить kubeadm init на master0». Означает, что я размещаю кластер etcd на главных узлах. И когда я ссылаюсь на файл конфигурации, который мне нужно создать, у меня возникает путаница относительно некоторых терминов в файле конфигурации. Позвольте мне добавить файл конфигурации здесь для ясности,

   cat >config.yaml <<EOF
   apiVersion: kubeadm.k8s.io/v1alpha1
   kind: MasterConfiguration
   api:
      advertiseAddress: <private-ip>
   etcd:
      endpoints:
      - https://<etcd0-ip-address>:2379
      - https://<etcd1-ip-address>:2379
      - https://<etcd2-ip-address>:2379
      caFile: /etc/kubernetes/pki/etcd/ca.pem
      certFile: /etc/kubernetes/pki/etcd/client.pem
      keyFile: /etc/kubernetes/pki/etcd/client-key.pem
   networking:
     podSubnet: <podCIDR>
   apiServerCertSANs:
   - <load-balancer-ip>
   apiServerExtraArgs:
     apiserver-count: "3"
   EOF 

Сомнения

  1. здесь, а, Могу ли я заменить etcd0-ip-address, etcd1-ip-address и etcd2-ip-address на IP-адрес машин, которые я выбрал для главных узлов? , Так как я не формирую etcd в отдельных виртуальных машинах. Я выбираю для создания на тех же мастер-узлах. Так я могу напрямую указать здесь IP-адрес 3-х главных виртуальных машин?

1 Ответ

0 голосов
/ 10 мая 2018

Я хочу расширить ответ Джоны Бентона, в котором кратко описывается, как он работает.

Кластер Kubernetes состоит из трех основных типов компонентов.Установленные компоненты создают роль для узла.Узел представляет собой виртуальную или физическую машину, на которой работают службы кластера.Компоненты могут быть логически расположены на отдельных узлах или установлены на одном узле, как в мини-кубе.

Для мастер-узлов Kubernetes требуется запустить сервер API, диспетчер контроллеров, планировщик и т. Д.При использовании этих программных компонентов главный узел управляет рабочими узлами, на которых работают механизм контейнера, iptables, kubelet и служебный прокси.

Etcd - это компонент, в котором состояние работающего кластера для HA, балансировки нагрузки и проверок работоспособностииз узлов сохраняются.Рекомендуется запускать etcd на 1, 3 или максимум 5 узлах кластера для обеспечения надежности и репликации состояния кластера.Рабочий узел с установленным дополнительным компонентом etcd является популярным методом установки.

Настоящим главным узлом мы можем назвать только узел, на котором работает API-сервер.

Давайте рассмотрим файл конфигурации, который выпри условии:

    etcd:   
      endpoints: 
      - https://<etcd0-ip-address>:2379 
      - https://<etcd1-ip-address>:2379 
      - https://<etcd2-ip-address>:2379

По вашему вопросу ответ положительный.Это место, зарезервированное для определения конечных точек для демона etcd.Если вы планируете создать кластер высокой доступности с мастер-узлами, работающими с etcd, вы можете заменить эти записи на IP-адреса мастер-узлов.

Я нашел хорошо описанные компоненты Kubernetes в этом документе ,Это может помочь понять зависимость кластера Kubernetes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...