Jenkins X использует секреты в средах предварительного просмотра
Я использую Jenkins X для сборки / развертывания микросервиса. В каждой среде есть общие секреты, используемые через микросервисы (клиентские ключи и т. Д.), Которые вводятся в deployment.yaml
в качестве переменных среды с использованием valueFrom
а также secretKeyRef
, Это хорошо работает в Production и Staging, где пространства имен хорошо известны, но так как при предварительном просмотре каждый раз создается новое пространство имен, этих секретов не будет. Есть ли способ скопировать секреты из другого известного пространства имен или лучше?
0 ответов
Вы можете создать другое пространство имен jx-preview
сохранить предварительный просмотр конкретных секретов и добавить эту строку после jx preview
команда в вашем Jenkinsfile
sh "kubectl get secret {secret_name} --namespace={from_namespace} --export -o yaml | kubectl apply --namespace=jx-$ORG-$PREVIEW_NAMESPACE -f -"
Не уверен, что это лучший способ
Другой вариант - создать свою собственную работу в charts/preview/templates/myjob.yaml
и в этой работе создайте любые секреты, которые вам нужны, а затем аннотируйте их, чтобы они запускались в качестве послеустановочного хука вашей диаграммы предварительного просмотра.
У нас есть команда для обслуживания сервисов связи из одного пространства имен в другое - например, чтобы связать сервисы от промежуточного размещения до среды предварительного просмотра с помощью сервисов jx step link.
Было бы неплохо добавить аналогичную команду для копирования секретов из пространства имен таким же образом. Я поднял вопрос, чтобы отслеживать эту новую функцию