108 lines
3.3 KiB
Markdown
108 lines
3.3 KiB
Markdown
# Запускаем RKE2
|
||
|
||
что нам понадобиться:
|
||
|
||
* [helm](https://helm.sh)
|
||
|
||
## План действий
|
||
|
||
1. В чем разница между RKE <> RKE2
|
||
2. Запускаем RKE2 через комм строку
|
||
3. Тестируем кластер в линзе
|
||
|
||
## Выполнение
|
||
|
||
на первой ноде:
|
||
|
||
```bash
|
||
curl -sfL https://get.rke2.io | sh -
|
||
systemctl enable --now rke2-server.service
|
||
```
|
||
|
||
Подключаем "кластер" к линзе, взяв конфиг из `/etc/rancher/rke2/rke2.yaml` и поправив там
|
||
верный ip-адрес.
|
||
|
||
на второи и третьей:
|
||
|
||
```bash
|
||
mkdir -p /etc/rancher/rke2/ && nano /etc/rancher/rke2/config.yaml
|
||
```
|
||
|
||
и заполняем его конфигом:
|
||
(токен берем из первой ноды в файле `/var/lib/rancher/rke2/server/node-token`)
|
||
|
||
```yaml
|
||
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. создаем более простой конфиг:
|
||
|
||
```bash
|
||
mkdir -p /etc/rancher/rke2/ && nano /etc/rancher/rke2/config.yaml
|
||
```
|
||
|
||
заполняем:
|
||
|
||
```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-нодах
|
||
|
||
меняем селектор нод:
|
||
|
||
```yaml
|
||
nodeSelector:
|
||
node-role.kubernetes.io/control-plane: 'true'
|
||
```
|
||
|
||
добавляем разрешение на запуск на CP-нодах:
|
||
|
||
```yaml
|
||
tolerations:
|
||
- key: CriticalAddonsOnly
|
||
operator: Exists
|
||
- operator: Exists
|
||
effect: NoExecute
|
||
```
|
||
|
||
проверяем, что у нас запущены 3 реплики rke2-ingress-nginx-controller
|