-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvclusterctl.sh
41 lines (35 loc) · 855 Bytes
/
vclusterctl.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env bash
# This script is used to suspend and resume virtual clusters.
# Usage: vclusterctl.sh [suspend|resume|set-state] <cluster_name> [state]
suspend() {
echo "Suspending cluster $1"
vcluster pause $1
set-state $1 "Paused"
}
resume() {
echo "Resuming cluster $1"
vcluster resume $1
set-state $1 "Available"
}
set-state() {
echo "Setting state of cluster $1 to $2"
kubectl patch virtualcluster $1 \
--subresource='status' \
--type='merge' \
--patch="{\"status\":{\"state\":\"$2\"}}"
}
if [ "$#" -ne 2 ]; then
echo "Usage: vclusterctl.sh [suspend|resume] <cluster_name>"
exit 1
fi
case "$1" in
suspend)
suspend $2
;;
resume)
resume $2
;;
*)
echo "Usage: vclusterctl.sh [suspend|resume] <cluster_name>"
exit 1
esac