Внедрить Docker LABEL в аннотацию метаданных Кубернетеса - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть образ докера, который я запускаю в моих кластерах Kubernetes, у изображения есть тег метки с хранилищем, который добавляется во время сборки:

docker build . --label "repo=<repo_name>" tag <tag>

У меня есть развертывание kubenetes, которое выглядит примерно так:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    run: my-cool-app
  name: my-cool-app
spec:
  replicas: 1
  selector:
    matchLabels:
      run: my-cool-app
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        run: my-cool-app
    spec:
      containers:
      - image: <imagename>:v1
        name: my-cool-app
        resources: {}

Мне интересно, возможно ли извлечь метку изображения докера и добавить ее в качестве метки метаданных в мою спецификацию kubernetes?

1 Ответ

0 голосов
/ 08 ноября 2018

Невозможно извлечь его, но вы можете прикрепить его в используемом вами развертывании. Например, если вы используете диаграмма Хелма , вы можете использовать одну переменную для метаданных и для изображения. Все, что вам нужно сделать, это обновить value.yaml. Это может выглядеть так:

value.yaml

my-cool-app-tag: v1

мой-прохладный app.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    run: my-cool-app
  name: my-cool-app
spec:
  replicas: 1
  selector:
    matchLabels:
      run: my-cool-app
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        run: my-cool-app
        tag-lable: {{ .value.my-cool-app-tag }}
    spec:
      containers:
      - image: <imagename>:{{ .value.my-cool-app-tag }}
        name: my-cool-app
        resources: {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...