Files
2023-02-22 12:38:55 +07:00
..
2023-02-21 14:35:39 +07:00
2023-02-22 12:38:55 +07:00

Запускаем RKE2

что нам понадобиться:

План действий

  1. В чем разница между RKE <> RKE2
  2. Запускаем RKE2 через комм строку
  3. Тестируем кластер в линзе

Выполнение

на первой ноде:

curl -sfL https://get.rke2.io | sh -
systemctl enable --now rke2-server.service

Подключаем "кластер" к линзе, взяв конфиг из /etc/rancher/rke2/rke2.yaml и поправив там верный ip-адрес.

на второи и третьей:

mkdir -p /etc/rancher/rke2/ && nano /etc/rancher/rke2/config.yaml

и заполняем его конфигом: (токен берем из первой ноды в файле /var/lib/rancher/rke2/server/node-token)

server: https://192.168.20.2:9345
token: K10a251c5c4fc92ca9d08d3aa534e232bd9cf1f6c192d42551c98020ffec17464cc::server:1b306239dd7e878eda35084137aa9626
tls-san:
  - rke.bildme.ru
node-taint:
  - "CriticalAddonsOnly=true:NoExecute"

Траефик

запускаем траефик, балансирую только на первую cp-ноду

траефик у меня будет висеть на адресе 192.168.20.2, от сюда этот адрес указан и в конфиге в разделе server

Подключаем 2\3 ноды

активируем сервис, ждем подключения нод в кластер

systemctl enable --now rke2-server.service

Правим подключение

  1. идем на первую ноду, так же создаем конфиг, сохраняем и перезапускаем машину
  2. перенастраиваем подключение в линзе по доменному имени
  3. открываем балансировку в траефике на все три ноды

Добавляем воркер-ноду

  1. качаем бинари - curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" sh -
  2. создаем более простой конфиг:
mkdir -p /etc/rancher/rke2/ && nano /etc/rancher/rke2/config.yaml

заполняем:

server: https://192.168.20.2:9345
token: K10a251c5c4fc92ca9d08d3aa534e232bd9cf1f6c192d42551c98020ffec17464cc::server:1b306239dd7e878eda35084137aa9626

запускаем службу:

systemctl enable --now rke2-agent.service

ждем адопта, затем добавляем в лейбы ноды значение (исключительно для красоты):

node-role.kubernetes.io/worker: 'true'

Со стороны кластера

  1. поправим taints на первой ноде, так, что бы на нее не пошла боевая нагрузка
  2. поправим nginx ingress controller, что бы он работал только на CP-нодах

меняем селектор нод:

nodeSelector:
	node-role.kubernetes.io/control-plane: 'true'

добавляем разрешение на запуск на CP-нодах:

      tolerations:
        - key: CriticalAddonsOnly
          operator: Exists
        - operator: Exists
          effect: NoExecute

проверяем, что у нас запущены 3 реплики rke2-ingress-nginx-controller