Перезапуск всех сервисов
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."