1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-k0s

Клонировать/Скачать
certificate-authorities.md 6.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 23.06.2025 17:30 f3833e7

Управляемые k0s удостоверяющие центры (CA)

Обзор управляемых k0s удостоверяющих центров

k0s поддерживает два удостоверяющих центра и одну пару открытого/закрытого ключа:

  • Удостоверяющий центр Kubernetes используется для обеспечения безопасности кластера Kubernetes и управления сертификатами клиентов и серверов для коммуникаций с API.
  • Удостоверяющий центр etcd используется только при включенной управляющей службе etcd для обеспечения безопасности коммуникаций etcd.
  • Пара открытого/закрытого ключа Kubernetes Service Account (SA) используется для подписи токенов Kubernetes service account.

Эти удостоверяющие центры создаются автоматически во время инициализации кластера и имеют стандартный срок действия 10 лет. Они распределяются один раз всем контроллерам k0s как часть процесса присоединения. Замена их является ручным процессом, так как k0s в настоящее время не имеет автоматизации для обновления удостоверяющих центров.

Замена удостоверяющего центра Kubernetes и пары ключей SA

Следующие шаги описывают способ ручной замены удостоверяющего центра Kubernetes и пары ключей SA путем остановки кластера, генерации новых и повторного распределения их на всех узлах, а затем возобновления работы кластера:1. Создайте [резервную копию]! В любой момент могут возникнуть непредвиденные проблемы.

  1. Остановите k0s на всех рабочих и контроллерских узлах. Все указания ниже предполагают, что все узлы k0s используют стандартный каталог данных /var/lib/k0s. Пожалуйста, скорректируйте пути, если вы используете другой каталог данных.

  2. Удалите файлы удостоверяющего центра 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
  3. Выберите одного контроллера как "первый". Перезапустите k0s на первом контроллере. Если этот контроллер запущен с флагом --enable-worker, вам следует перезагрузить машину вместо этого. Это гарантирует, что все процессы и службы будут перезапущены правильно. После перезапуска k0s сгенерирует новый удостоверяющий центр Kubernetes и новую пару ключей SA.

  4. Распределите новый пар ключей 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, выполните перезагрузку машин вместо этого.
  5. Вновь присоедините всех рабочих узлов. Самый простой способ сделать это — использовать файл 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. Затем перезагрузите машину.

  6. Когда все рабочие узлы снова станут доступными, файлы kubelet-bootstrap.conf можно безопасно удалить с рабочих узлов. Вы также можете аннулировать токен, чтобы не ждать его истечения: используйте k0s token list --role worker для просмотра всех токенов и k0s token invalidate <token-id> для немедленной аннуляции токенов.

См. также

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-k0s.git
git@api.gitlife.ru:oschina-mirror/mirrors-k0s.git
oschina-mirror
mirrors-k0s
mirrors-k0s
main