k0s поддерживает два удостоверяющих центра и одну пару открытого/закрытого ключа:
Эти удостоверяющие центры создаются автоматически во время инициализации кластера и имеют стандартный срок действия 10 лет. Они распределяются один раз всем контроллерам k0s как часть процесса присоединения. Замена их является ручным процессом, так как k0s в настоящее время не имеет автоматизации для обновления удостоверяющих центров.
Следующие шаги описывают способ ручной замены удостоверяющего центра Kubernetes и пары ключей SA путем остановки кластера, генерации новых и повторного распределения их на всех узлах, а затем возобновления работы кластера:1. Создайте [резервную копию]! В любой момент могут возникнуть непредвиденные проблемы.
Остановите k0s на всех рабочих и контроллерских узлах. Все указания ниже предполагают, что все узлы k0s используют стандартный каталог данных /var/lib/k0s
. Пожалуйста, скорректируйте пути, если вы используете другой каталог данных.
Удалите файлы удостоверяющего центра Kubernetes и пары ключей SA из всех каталогов данных контроллеров:
/var/lib/k0s/pki/ca.crt
/var/lib/k0s/pki/ca.key
/var/lib/k0s/pki/sa.pub
/var/lib/k0s/pki/sa.key
Удалите файл конфигурации kubelet и каталог PKI kubelet из всех рабочих каталогов данных. Обратите внимание, что это включает контроллеры, запущенные с флагом --enable-worker
:
/var/lib/k0s/kubelet.conf
/var/lib/k0s/kubelet/pki
Выберите одного контроллера как "первый". Перезапустите k0s на первом контроллере. Если этот контроллер запущен с флагом --enable-worker
, вам следует перезагрузить машину вместо этого. Это гарантирует, что все процессы и службы будут перезапущены правильно. После перезапуска k0s сгенерирует новый удостоверяющий центр Kubernetes и новую пару ключей SA.
Распределите новый пар ключей CA и SA на других контроллерах: скопируйте следующие файлы с первого контроллера на каждый из оставшихся контроллеров:
/var/lib/k0s/pki/ca.crt
/var/lib/k0s/pki/ca.key
/var/lib/k0s/pki/sa.pub
/var/lib/k0s/pki/sa.key
После копирования файлов новый пар ключей CA и SA будет установлен. Перезапустите k0s на других контроллерах. Для контроллеров, запущенных с флагом --enable-worker
, выполните перезагрузку машин вместо этого.Вновь присоедините всех рабочих узлов. Самый простой способ сделать это — использовать файл kubelet-bootstrap.conf
. Вы можете сгенерировать такой файл на контроллере следующим образом (см. раздел о [токенах присоединения] для подробностей):
touch /tmp/rejoin-token &&
chmod 0600 /tmp/rejoin-token &&
k0s token create --expiry 1h |
base64 -d |
gunzip >/tmp/rejoin-token
Скопируйте этот токен на каждый рабочий узел и поместите его в /var/lib/k0s/kubelet-bootstrap.conf
. Затем перезагрузите машину.
Когда все рабочие узлы снова станут доступными, файлы kubelet-bootstrap.conf
можно безопасно удалить с рабочих узлов. Вы также можете аннулировать токен, чтобы не ждать его истечения: используйте k0s token list --role worker
для просмотра всех токенов и k0s token invalidate <token-id>
для немедленной аннуляции токенов.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )