Charmed-Kubernetes/snap-upgrade.sh

39 lines
1.1 KiB
Bash

#!/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