Переключить конфигурацию helm на основе контекста kubectl

Я использую Helm для управления приложениями, запущенными в моем кластере Kubernetes. Я управляю несколькими кластерами для разных сред. kubectl поддерживает это из коробки, например:

kubectl config set-context staging
kubectl config set-context production

Каждому кластеру принадлежит определенная конфигурация Helm.

2 переменные среды:

  • TILLER_NAMESPACE
  • HELM_TLS_ENABLE

И в случае HELM_TLS_ENABLE верно, также сертификат PEM и ключ.

В настоящее время, когда я переключаю контекст, мне нужно вручную изменить переменные, связанные с Helm. Есть ли способ автоматизировать это? Я предположил, может быть, крючок, который называется, когда kubectl контекст изменился, но я не мог найти способ.

Специфичный для ZSH вариант также приемлем, хотя предпочтительным является агностический метод для оболочки.

2 ответа

Опубликовать этот ответ в вики-сообществе, чтобы указать на комментарии, сделанные под вопросом, и добавить дополнительную информацию.

Не стесняйтесь расширяться.

Сейчас этот вопрос следует считать неактуальным. Вопрос касался следующих переменных среды:

  • TILLER_NAMESPACE
  • HELM_TLS_ENABLE

Особое внимание уделено:

Сопутствующий серверный компонент,tiller, который работает в вашем кластере Kubernetes, прослушивает команды от helm и управляет настройкой и развертыванием выпусков программного обеспечения в кластере. Формат упаковки Helm, называемый диаграммами.

-- Digitalocean.com: Сообщество: Учебные пособия: введение в управление менеджером пакетов для Kubernetes.

Helm v2который использовался, теперь устарел .Helm v3не используетtillerбольше.

Ссылаясь на официальную документацию по перекосу поддержки:

После 13 ноября 2020 г. вы увидите следующие изменения:

  • Больше никаких выпусков Helm v2 (даже исправлений безопасности)
  • Никаких дальнейших обновлений документации Helm v2, которая останется доступной в настоящее время, но может быть прекращена.
  • Существующие и новые проблемы/запросы, относящиеся к версии 2, будут закрыты. Передача выпуска Helm и права владения хостингом диаграмм в CNCF.

Дополнительные ресурсы:

Проверить эту обертку?

Экспортирует следующие переменные в зависимости от контекста

HELM_TLS_CA_CERT="${HELM_HOME}/tls/${K8S_CONTEXT}/ca.pem"
HELM_TLS_CERT="${HELM_HOME}/tls/${K8S_CONTEXT}/cert.pem"
HELM_TLS_KEY="${HELM_HOME}/tls/${K8S_CONTEXT}/key.pem"
HELM_TLS_ENABLE="true"
Другие вопросы по тегам