Перейти к основному контенту

Перезапуск всех сервисов

kubectl -n default rollout restart deploy
kubectl -n default rollout restart ds

Если namespace отличен от по умолчанию, заменить default на свой

Более интересный вариант:

#!/usr/bin/env bash

function clearCompleted() {
    kubectl delete job $(kubectl get job -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}') > /dev/null 2>&1
}


kubectl scale deploy --replicas=0 --all

while [[ $(kubectl get pods -n default | grep -c "") -ne 0 ]]
do
  clearCompleted
  echo "Waiting for all pods are Terminating."
  sleep 15
done

kubectl scale deploy --replicas=1 --all
kubectl scale --replicas=4 deployment/worker

while true
do
  clearCompleted
  echo "Waiting for all pods are Ready."
  kubectl wait pods --all -n default --for condition=Ready --timeout=60s > /dev/null 2>&1 && break
  sleep 15
done

echo "All done."