Files
kubernetes-rke2/3.RKE2/README.md
2023-02-22 12:38:55 +07:00

108 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Запускаем 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