Переключение установки cert-manager в Kubernetes с статических манифестов на helm без потери существующих сертификатов

Вопрос или проблема

Сначала мы установили cert-manager с использованием статических манифестов. Теперь нам нужно настроить параметры (тайм-аут вебхука, см. digitalocean/clusterlint#167), поэтому я думаю, что лучшим вариантом будет миграция на установку через Helm, но я не уверен, как лучше это сделать, и буду очень благодарен за помощь.

Я прочитал инструкции по удалению, но не хочу удалять сертификаты или (кластерные/) выдающие центры. Могу ли я пропустить этот шаг удаления, так как знаю, что вскоре переустановлю с помощью Helm, или мне нужно следовать другому процессу?

Любая помощь была бы замечательной. Спасибо 🙏

Это может быть не идеально по какой-то причине, о которой я еще не осведомлен, но, похоже, это идеально сработало для меня…

  1. Обновите до последней версии, например, kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/vX.Y.Z/cert-manager.yaml
  2. Удалите с помощью kubectl, например, kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/vX.Y.Z/cert-manager.yaml (не очищайте ресурсы cert-manager сначала)
  3. Переустановите с помощью Helm (смотрите здесь)

Если возникнут какие-либо проблемы, я дам вам знать, но, похоже, это работает нормально и уже сделано в продакшене.

Ответ или решение

Для миграции установки cert-manager из статических манифестов в Helm, не теряя существующих сертификатов, вам нужно следовать определённым шагам. Ниже я нахожу несколько рекомендаций, которые помогут вам осуществить этот переход без потери данных.

Пошаговая инструкция:

  1. Обновите cert-manager до последней версии:
    Сначала убедитесь, что ваше текущее развертывание cert-manager обновлено до последней стабильной версии. Это важно, чтобы избежать проблем совместимости при удалении и повторной установке. Вы можете сделать это, выполнив команду:

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/vX.Y.Z/cert-manager.yaml

    Замените vX.Y.Z на актуальную версию.

  2. Удалите установку cert-manager:
    После обновления можно продолжать с удалением. Однако, важно не очищать связанные ресурсы cert-manager (такие как сертификаты и issuers) перед удалением. Используйте следующую команду для безопасного удаления:

    kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/vX.Y.Z/cert-manager.yaml

    Это приведет к удалению только компонентов cert-manager и оставит все существующие сертификаты и issuers нетронутыми.

  3. Установите cert-manager с помощью Helm:
    Теперь вы готовы установить cert-manager через Helm. Убедитесь, что у вас настроен Helm и добавлен репозиторий cert-manager:

    helm repo add jetstack https://charts.jetstack.io
    helm repo update

    Затем установите cert-manager, указав необходимые настройки, такие как тайм-аут вебхука:

    helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --set extraArgs={--webhook-timeout=30s}

    Вы можете настроить дополнительные параметры в зависимости от ваших требований.

Дополнительные рекомендации:

  • Создайте резервные копии: Перед любыми действиями рекомендуется создавать резервные копии ваших ресурсов Kubernetes, особенно если они критически важны для вашего приложения.

  • Мониторинг: После миграции полезно следить за логами cert-manager и состоянием ваших сертификатов и issuers, чтобы убедиться, что всё работает корректно.

  • Тестирование в тестовом окружении: Если это возможно, сначала протестируйте процесс миграции в тестовом окружении, прежде чем проводить изменения в продакшн.

Следуя этим шагам, вы сможете успешно переключить установку cert-manager с статических манифестов на Helm без потери сертификатов и issuers. Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью!

Оцените материал
Добавить комментарий

Капча загружается...