This commit is contained in:
Sergei Erjemin 2025-01-09 17:54:00 +03:00
parent 21bf903d45
commit 8148cc2e65

View File

@ -1078,20 +1078,25 @@ nano ~/.config/kubeadm-config.yaml
kind: JoinConfiguration
discovery:
bootstrapToken:
apiServerEndpoint: "192.168.1.XX2:6443" # Укажите IP и порт API-сервера (master-узла)
apiServerEndpoint: "192.168.1.XX2:6443" # IP (или VIP) и порт API-сервера (master-узла)
token: "сюда-вставить-токен-который-получили-при-инициализации-кластера"
caCertHashes:
- "sha256:сюда-вставить-хэш-сертификата-который-получили-при-инициализации-кластера"
nodeRegistration:
criSocket: "unix:///var/run/cri-dockerd.sock" # Укажите путь к cri-dockerd сокету
criSocket: "unix:///var/run/cri-dockerd.sock" # Путь к cri-dockerd сокету
```
Токен и хэш сертификата для добавления узла в кластер был выведен в консоль после инициализации кластера. Узнать
их можно на мастер-узле командой:
Токен и хэш сертификата для добавления узла в кластер был выведен в консоль после инициализации кластера. Создать
и посмотреть токен (на самом деле всю команду инициализации) можно на мастер-узле командой:
```shell
kubeadm token create --print-join-command
```
Токен действует 24 часа после выпуска. Все действующие токены можно посмотреть командой:
```shell
kubeadm token list
```
Примечательно, что команда каждый раз генерирует новый токен (хеш сертификата остается неизменным). Токен используется
только для первоначального добавления узла в кластер и действует ограниченное время (24 часа). Поэтому, если узел
не был добавлен в кластер в течение этого времени, необходимо получить новый токен.
@ -1140,13 +1145,14 @@ E0104 18:14:56.016385 86048 memcache.go:265] couldn't get current server API g
The connection to the server localhost:8080 was refused - did you specify the right host or port?
```
Это происходит потому, что конфигурационный файл `kubectl` не был скопирован на узел. Сначала на новом, присоединенном
узле, создадим каталог `.kube` в домашнем каталоге:
Это происходит потому, что конфигурационный файл `kubectl` не был скопирован на второй узел.
На новом, присоединенном узле, создадим каталог `.kube` в домашнем каталоге:
```shell
mkdir -p $HOME/.kube
```
И на мастер-узле скопируем конфигурационный файл `kubectl` на присоединенный узел (не забываем заменить `[user]` на
А на мастер-узле скопируем конфигурационный файл `kubectl` на присоединенный узел (не забываем заменить `[user]` на
имя пользователя):
```shell
sudo scp /etc/kubernetes/admin.conf [user]@opi5plus-2:~/.kube/config
@ -1289,4 +1295,11 @@ busybox-worker 1/1 Running 0 35s 172.16.74.7 opi5plus-2
(обратите внимание на IP-адреса подов из предыдущего вывода, у вас они могут отличаться):
```shell
kubectl exec -it busybox-master -- ping -c 4 172.16.74.7
```
#### Превращаем воркер-узел в мастер-узел
Удаляем сертификаты на бывшем воркере.
```shell
sudo rm -rf /etc/kubernetes/pki/*
```