Обновление руля - установка не принимает новые изменения - PullRequest
0 голосов
/ 23 ноября 2018

Я использую приведенную ниже команду в своем CI сборки, чтобы развертывание для управления происходило в каждой сборке.Тем не менее, я заметил, что изменения не внедряются.

              helm upgrade --install --force \
              --namespace=default \
              --values=kubernetes/values.yaml \
              --set image.tag=latest \
              --set service.name=my-service \
              --set image.pullPolicy=Always \
              myService kubernetes/myservice

Нужно ли каждый раз отмечать изображение?Helm не выполняет установку, если существует такая же версия?

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

Вам не нужно каждый раз отмечать изображение новым тегом.Просто добавьте date: "{{ .Release.Time.Seconds }}" в template/metadata/labels и установите imagePullPolicy: Always.Helm обнаружит изменения в объекте развертывания и каждый раз будет извлекать последний образ:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: "{{ .Release.Name }}-{{ .Values.app.frontendName }}-deployment"
  labels:
    app.kubernetes.io/name: {{ .Values.app.frontendName }}
    app.kubernetes.io/instance: {{ .Release.Name }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app.kubernetes.io/name: {{ .Values.app.frontendName }}
      app.kubernetes.io/instance: {{ .Release.Name }}
  template:
    metadata:
      labels:
        app.kubernetes.io/name: {{ .Values.app.frontendName }}
        app.kubernetes.io/instance: {{ .Release.Name }}
        date: "{{ .Release.Time.Seconds }}"
    spec:
      containers:
        - name: {{ .Values.app.frontendName }}
          image: "rajesh12/myimage:latest"
          imagePullPolicy: Always

Запустить helm upgrade releaseName ./my-chart, чтобы обновить вашу версию

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

Да, вам нужно пометить каждую сборку, а не использовать «последний».Helm проводит различие между шаблоном, оцененным по вашим параметрам, и текущим развернутым.Так как оба являются «последними», он не видит изменений и не применяет никаких обновлений (если только что-то не изменилось).Вот почему руководство по передовому опыту руля рекомендует, чтобы «изображение контейнера использовало фиксированный тег или SHA изображения».(См. Также https://docs.helm.sh/chart_best_practices/ и Обновление шлема не тянет новый контейнер )

...