Я использую 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, также приемлем, хотя предпочтителен метод, не зависящий от оболочки.
Проверь это обертка ?
Он экспортирует следующие переменные в зависимости от контекста
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"