3.5 KiB
Запускаем RKE2
что нам понадобиться:
План действий
- В чем разница между RKE <> RKE2
- Снапшотим наши ноды, чтоб можно было откатиться к началу
- Запускаем RKE2 через комм строку
- Тестируем кластер в линзе
- Восстанавливаемся из снепшотов
Выполнение
на первой ноде:
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
Правим подключение
- идем на первую ноду, так же создаем конфиг, сохраняем и перезапускаем машину
- перенастраиваем подключение в линзе по доменному имени
- открываем балансировку в траефике на все три ноды
Добавляем воркер-ноду
- качаем бинари -
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" sh -
- создаем более простой конфиг:
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'
Со стороны кластера
- поправим taints на первой ноде, так, что бы на нее не пошла боевая нагрузка
- поправим 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