Добавление node к существующему кластеру в Кубернете

У меня есть кубернетический кластер, работающий на двух машинах (мастер-миньон node и миньон node). Я хочу добавить новый миньон node, не нарушая текущую настройку, есть ли способ сделать это?

Я видел, что когда я пытаюсь добавить новый node, службы на других узлах останавливают его, из-за чего мне приходится останавливать службы перед развертыванием нового node в существующий кластер.

Ответ 1

Чтобы сделать это в последней версии (проверено на 1.10.0), вы можете выполнить следующую команду на мастер-узле:

kubeadm token create --print-join-command

Затем он напечатает новую команду соединения (например, ту, которую вы получили после kubeadmn init):

kubeadm join 192.168.1.101:6443 --token tokentoken.lalalalaqyd3kavez --discovery-token-ca-cert-hash sha256:complexshaoverhere

Ответ 2

Вам нужно запустить kubelet и kube-proxy на новом minion, указывающем api-адрес в параметрах.

Пример:

kubelet --api_servers=http://<API_SERVER_IP>:8080 --v=2 --enable_server --allow-privileged
kube-proxy --master=http://<API_SERVER_IP>:8080 --v=2

После этого вы увидите новый node в

kubectl get no

Ответ 3

Я использую среду OpenStack, в которой кластер kubernetes взят. Один из способов добавления узлов, которые я нашел, - остановить службы kube и etcd на главном и миньоне, а затем добавить новый node.

Но в производственной среде, когда есть 1000 машин, сбрасывающих службы на каждой машине, утомительно, где, как и в сценарии, где у меня есть приложения, запущенные на узлах, приведение кластера вниз эквивалентно удалению приложений, t хотите.