скользящее обновление kubernetes с использованием helm

Я новичок в Хельме. Я установил Minikube & Helm в свою систему Windows. Я могу создавать модули с помощью Helm и видеть развертывание, модули и набор реплик на панели инструментов.

Я хочу выполнить скользящее обновление с помощью Helm. Подскажите, как выполнить скользящее обновление в K8s с помощью Helm.

Создание модуля Tomcat с помощью Helm

Helm создать привет-мир

Изменено имя образа и имя развертывания в deployment.yaml

kind: Deployment
metadata:
  name: mytomcat
spec:
      containers:
        - name: {{ .Chart.Name }}
          image: tomcat

Установить

helm install hello-world

NAME:   whopping-dolphin
LAST DEPLOYED: Wed Aug 30 21:38:42 2017
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/Service
NAME                          CLUSTER-IP  EXTERNAL-IP  PORT(S)  AGE
whopping-dolphin-hello-world  10.0.0.178  <none>       80/TCP   0s

==> v1beta1/Deployment
NAME      DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
mytomcat  1        1        1           0          0s


NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace default -l "app=hello-world,release=whopping-dolphin" -o jsonpath="{.items[0].metadata.name}")
  echo "Visit http://127.0.0.1:8080 to use your application"
  kubectl port-forward $POD_NAME 8080:80

Я вижу развертывание mytomcat и модуль mytomcat-2768693561-hd2hd на панели управления.

Теперь я хотел бы дать команду, которая удалит мое текущее развертывание и модуль в k8s, и она должна создать новое развертывание и модуль.

Будет полезно, если я получу образцы команд и yaml.


person Gnana    schedule 31.08.2017    source источник


Ответы (1)


Команда ниже работает нормально для обновления Rolling.

  1. В первый раз он будет установлен
  2. в следующий раз будет апгрейд

helm upgrade --install tom-release --set appName = mytomcatcon hello-world

tom-release - это имя моего выпуска и передача значений времени выполнения в диаграмму управления с использованием параметра --set

person Gnana    schedule 31.08.2017
comment
это не приводит к повторному развертыванию образа с последним изображением, даже если для ImagePullPolicy установлено значение always. Есть ли способ сделать это тоже? - person Vincent Gerris; 12.11.2020
comment
Для меня это обновление, но без нулевого времени простоя. - person abbas; 13.01.2021
comment
Согласно официальному документу, это стратегия Recreate, а не RollingUpdate. kubernetes.io/docs/concepts/workloads/controllers/deployment/ - person abbas; 13.01.2021