k8s: использовать параметризованный тег изображения при создании развертывания - PullRequest
0 голосов
/ 27 сентября 2018

Я хочу запустить kubernetes развертывание, например:

apiVersion: v1
kind: Deployment
metadata:
  name: my-deployment
  namespace: my-namespace
spec:
  replicas: 1
  template:
    spec:
      containers:
      - name: my-app
        image: our-own-registry.com/somerepo/my-app:${IMAGE_TAG}
        env:
        - name: FOO
          value: "BAR"

Это будет доставлено разработчикам, чтобы они могли выполнять развертывания по требованию, используя тег изображения по своему усмотрению..

Каков наилучший способ / рекомендуемый шаблон для передачи переменной тега?

при выполнении экспорта в командной строке, чтобы сделать его доступным как env var в оболочке, из которой команда kubectlпобежит?

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Для простых случаев использования envsubst отлично подойдет:

IMAGE_TAG=1.2 envsubst < deployment.yaml | kubectl apply -f -`
0 голосов
/ 27 сентября 2018

К сожалению, это невозможно с помощью нативных инструментов kubernetes.Начиная с здесь :

kubectl никогда не будет поддерживать подстановку переменных.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...