mirror of
https://github.com/dredx/prole.git
synced 2026-09-23 12:03:59 +00:00
42 lines
1.6 KiB
Bash
42 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
export KUBECONFIG=/Users/chrisfu/dev/knoe/knoe-k3s.kubeconfig
|
|
|
|
echo "==> Patching HPAs to minReplicas=1..."
|
|
for hpa in gitlab-webservice-default gitlab-gitlab-shell gitlab-kas gitlab-registry; do
|
|
kubectl -n gitea patch hpa "$hpa" --type=merge \
|
|
-p '{"spec":{"minReplicas":1,"maxReplicas":2}}' 2>/dev/null || true
|
|
echo " patched: $hpa"
|
|
done
|
|
|
|
echo "==> Patching global.nodeSelector to null (let pods spread)..."
|
|
kubectl -n gitea patch gitlab gitlab --type=merge -p '{
|
|
"spec":{"chart":{"values":{"global":{"nodeSelector":null}}}}}'
|
|
|
|
echo "==> Patching CR webservice/sidekiq nodeSelector to null..."
|
|
kubectl -n gitea patch gitlab gitlab --type=merge -p '{
|
|
"spec":{"chart":{"values":{"gitlab":{
|
|
"webservice":{"nodeSelector":null},
|
|
"sidekiq":{"nodeSelector":null},
|
|
"toolbox":{"nodeSelector":null},
|
|
"migrations":{"nodeSelector":null},
|
|
"gitlab-exporter":{"nodeSelector":null}
|
|
},"registry":{"nodeSelector":null}}}}}'
|
|
|
|
echo "==> Force-deleting stuck Terminating pods..."
|
|
for pod in $(kubectl -n gitea get pods --no-headers \
|
|
| grep -E "Terminating|Pending" | awk '{print $1}'); do
|
|
kubectl -n gitea delete pod "$pod" --force --grace-period=0 --ignore-not-found 2>/dev/null || true
|
|
done
|
|
|
|
echo "==> Waiting 5min for pods to reschedule across cluster..."
|
|
sleep 300
|
|
|
|
echo "==> Pod status with node placement:"
|
|
kubectl -n gitea get pods --no-headers \
|
|
-o wide | grep -v jemalloc | grep -v Completed \
|
|
| awk '{printf "%-52s %-8s %-15s %s\n",$1,$4,$6,$7}' | sort
|
|
|
|
echo "==> CR phase:"
|
|
kubectl -n gitea get gitlab gitlab -o jsonpath='{.status.phase}' && echo
|