add: Adjust nodes (-1-)
This commit is contained in:
parent
1a974ed53b
commit
a62f875e60
@ -950,9 +950,9 @@ sudo service haproxy restart
|
|||||||
отвечает на запрос, он помечается как недоступный и исключается из балансировки. Когда узел восстанавливает работу,
|
отвечает на запрос, он помечается как недоступный и исключается из балансировки. Когда узел восстанавливает работу,
|
||||||
он добавляется обратно в балансировку.
|
он добавляется обратно в балансировку.
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
|
## Инициализация кластера Kubernetes
|
||||||
#### Инициализация кластера Kubernetes
|
|
||||||
|
|
||||||
Теперь можно инициализировать кластер Kubernetes. На одном из узлов выполним команду `kubeadm init`:
|
Теперь можно инициализировать кластер Kubernetes. На одном из узлов выполним команду `kubeadm init`:
|
||||||
```shell
|
```shell
|
||||||
@ -1174,9 +1174,49 @@ sudo scp /etc/kubernetes/admin.conf [user]@opi5plus-2:~/.kube/config
|
|||||||
* **Kube-Router** -- Объединяет функции маршрутизации, балансировки нагрузки и сетевых политик. Использует BGP для
|
* **Kube-Router** -- Объединяет функции маршрутизации, балансировки нагрузки и сетевых политик. Использует BGP для
|
||||||
маршрутизации. Подходит для кластеров, где требуется интеграция с существующей сетевой инфраструктурой.
|
маршрутизации. Подходит для кластеров, где требуется интеграция с существующей сетевой инфраструктурой.
|
||||||
|
|
||||||
Сетевое взаимодействие между узлами обеспечивается с помощью манифеста сетевого плагина. Например, для установки
|
Т.к. я планирую в будущем подключать узлы во "внешнем интернете" (узлы будут находиться в разных сетях) и узлы
|
||||||
|
будут не только на ARM64 (Orange Pi 5 и Apple Silicon), но и armv7 (Raspberry Pi 3B) и amd64 (x86_64), то выбор
|
||||||
|
пал на **Calico**.
|
||||||
|
|
||||||
|
Применим манифест сетевого плагина Calico на мастер-узле:
|
||||||
```shell
|
```shell
|
||||||
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
|
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Изменения, внесенные в манифест, могут занять некоторое время для обновления состояния всех узлов, распространиться
|
||||||
|
и вступить в силу.
|
||||||
|
|
||||||
|
Проверим состояния узлов:
|
||||||
|
```shell
|
||||||
|
kubectl get nodes
|
||||||
|
```
|
||||||
|
|
||||||
|
И увидим, что узлы готовы к работе:
|
||||||
|
```text
|
||||||
|
NAME STATUS ROLES AGE VERSION
|
||||||
|
opi5plus-1 Ready control-plane 25h v1.30.8
|
||||||
|
opi5plus-2 Ready <none> 8h v1.30.8
|
||||||
|
```
|
||||||
|
|
||||||
|
Если вы заметили, то второй узел `opi5plus-2` не имеет роли. Kubernetes позволяет назначать узлам роли: мастер
|
||||||
|
(control-plane) и рабочий (worker). На рабочих узлах запускаются поды, а мастер-узлы используются для управления.
|
||||||
|
Задать роль второму узлу (`opi5plus-2`) можно командой:
|
||||||
|
```shell
|
||||||
|
kubectl label node opi5plus-2 node-role.kubernetes.io/worker=worker
|
||||||
|
```
|
||||||
|
|
||||||
|
Теперь роли узлов будут выглядеть так:
|
||||||
|
```text
|
||||||
|
NAME STATUS ROLES AGE VERSION
|
||||||
|
opi5plus-1 Ready control-plane 39h v1.30.8
|
||||||
|
opi5plus-2 Ready worker 22h v1.30.8
|
||||||
|
```
|
||||||
|
|
||||||
|
По умолчанию, на мастер-узле (у нас это `opi5plus-1`) запрещено запускать поды не относящихся к управляющей плоскости.
|
||||||
|
Такое расточительство 😜 можно пресечь. Разрешить запуск подов на мастер-узле нужно удалив `taint` с мастер-узла.
|
||||||
|
`taint` — это метка, которая назначается узлу и указывает какие поды могут быть запущены на узле.
|
||||||
|
Удалить taint-метку с мастер-узла можно командой:
|
||||||
|
```shell
|
||||||
|
kubectl taint nodes opi5plus-1 node-role.kubernetes.io/control-plane:NoSchedule-
|
||||||
|
```
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user