From 8148cc2e655985d6695ff8882ff77e12dc916a57 Mon Sep 17 00:00:00 2001 From: erjemin Date: Thu, 9 Jan 2025 17:54:00 +0300 Subject: [PATCH] add: . --- raspberry-and-orange-pi/k8s.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/raspberry-and-orange-pi/k8s.md b/raspberry-and-orange-pi/k8s.md index 1316995..cf29b2d 100644 --- a/raspberry-and-orange-pi/k8s.md +++ b/raspberry-and-orange-pi/k8s.md @@ -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/* ``` \ No newline at end of file