Служба Kubernetes развертывается в пространстве имен по умолчанию вместо определенного пространства имен с помощью Helm - PullRequest
10 голосов
/ 09 июля 2019

Я пытаюсь развернуть свой микросервис на кластере Kuberenetes в 2 различных средах разработки и тестирования. И я использую рулевую диаграмму для развертывания моего сервиса Kubernetes. Я использую Jenkinsfile для развертывания диаграммы. А внутри Jenkinsfile я добавил команду helm на сцене, как показано ниже:

stage ('helmchartinstall')
                {
                    steps
                    {
                        sh 'helm upgrade --install kubekubedeploy --namespace test pipeline/spacestudychart'
                    }
                }
             }

Здесь я определяю тестовый параметр --namespace. Но когда он развертывается, он показывает вывод консоли с пространством имен по умолчанию. Я уже создал пространства имен test и prod.

Когда я проверил версию Helm, я получил ответ, подобный следующему,

docker@mildevdcr01:~$ helm version
Client: &version.Version{SemVer:"v2.14.1", 
GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.0", 
GitCommit:"05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0", GitTreeState:"clean"}

Допустил ли я здесь ошибку при определении пространства имен?

Ответы [ 2 ]

5 голосов
/ 20 июля 2019

Наиболее вероятная проблема здесь заключается в том, что Диаграмма уже указывает default как metadata.namespace, который в Хелме 2 не перезаписывается параметром --namespace.

Если это причина, решение будетудалить пространство имен, указанное в metadata.namespace, или сделать его параметром шаблона (он же релиз value).

Также см. https://stackoverflow.com/a/51137448/1977182.

0 голосов
/ 26 июля 2019

Подход 1:

export TILLER_NAMESPACE= your_namespace
helm upgrade -i -n release_name chart.tgz

Подход 2:

helm upgrade -i -n release_name --namespace your_namespace chart.tgz
...