Узлы кластера Kubernetes не создаются автоматически, когда другие теряются в Kubespray - PullRequest
0 голосов
/ 21 мая 2019

Я успешно развернул мультимастерный кластер Kubernetes, используя репо https://github.com/kubernetes-sigs/kubespray, и все работает отлично.Но когда я останавливаю / прекращаю работу узла в кластере, новый узел не присоединяется к кластеру. Я развернул kubernetes с помощью KOPS, но узлы были созданы автоматически при удалении одного из них.Это ожидаемое поведение в kubespray?Пожалуйста, помогите ..

1 Ответ

1 голос
/ 22 мая 2019

Это ожидаемое поведение, потому что kubespray не создает ASG, которые являются ресурсами, специфичными для AWS.Можно заметить, что kubespray работает только с существующими машинами;в репо они предлагают игрушки-терраформы для предоставления машин, но сам kubespray не входит в этот бизнес.

У вас есть несколько вариантов:

Пост-подготовка с использованием scale.yml

  1. Предоставление нового узла с использованием вашего любимого механизма
  2. Создайте файл инвентаризации, содержащий его, и машины etcd (предположительно, чтобы kubespray мог выдавать etcdсертификаты для нового узла
  3. Вызовите scale.yml playbook

Вы можете наслаждаться AWX в поддержку этого.

Использование обычного kubeadm join

Это механизм, который я использую для своих кластеров, FWIW

  1. Создание токена соединения kubeadm с помощью kubeadm token create --ttl 0 (или любой другой TTL, который вам удобнее использовать)

    Вам нужно будет сделать это только один раз или, возможно, один раз для ASG, в зависимости от ваших допусков безопасности

  2. Используйте механизм cloud-init , чтобы гарантировать, что docker, kubeadm и * 10На компьютере имеется 48 * двоичных файлов

    Вы также можете использовать AMI для этого, если вам нравится создавать AMI

  3. Затем вызовите kubeadm join, как описано здесь:https://kubernetes.io/docs/setup/independent/high-availability/#install-workers

Использование контроллера машины

Существует множество компонентов "контроллера машины" , которые нацелены на использование пользовательских контроллеров в Kubernetes для управления пулами узловдекларативно.У меня нет опыта с ними, но я верю, что они работают.Эта ссылка была только первой, которая пришла на ум, но есть и другие

У наших друзей в Kubedex есть целая страница, посвященная этому вопросу

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