Add snap-upgrade.sh

This commit is contained in:
Ares 2024-03-13 02:47:24 +00:00
parent 6f36a4a39a
commit 32f30dbe09
1 changed files with 39 additions and 0 deletions

39
snap-upgrade.sh Normal file
View File

@ -0,0 +1,39 @@
#!/bin/bash
SNAP_CHANNEL="1.21/stable"
ALL_SNAPS="kube-apiserver kube-scheduler kube-controller-manager kube-proxy kubectl kubelet cdk-addons"
MASTER_SNAPS="kube-apiserver kube-scheduler kube-controller-manager kube-proxy kubectl cdk-addons"
WORKER_SNAPS="kube-proxy kubelet kubectl"
# Download Juju 2.9
snap download --channel=2.9 juju
# Download latest snaps from designated channel
for snap in $ALL_SNAPS
do
snap download --channel=$SNAP_CHANNEL $snap
done
# Attach new snaps to master units
for snap in $MASTER_SNAPS
do
juju attach kubernetes-master $snap=`ls ${snap}_*.snap`
done
# Attach new snaps to worker units
for snap in $WORKER_SNAPS
do
juju attach kubernetes-worker $snap=`ls ${snap}_*.snap`
done
# Upgrade to new snaps on masters, one at a time
for unit in `juju status --format json | jq -r '.applications|.["kubernetes-master"].units | keys[]'`
do
juju run-action $unit upgrade --wait
done
# Upgrade to new snaps on workers, one at a time
for unit in `juju status --format json | jq -r '.applications|.["kubernetes-worker"].units | keys[]'`
do
juju run-action $unit upgrade --wait
done