Skip to content

Instantly share code, notes, and snippets.

@jsturtevant
Last active November 15, 2021 23:03
Show Gist options
  • Save jsturtevant/07cf82a991516d2eb9452e0ec05e523c to your computer and use it in GitHub Desktop.
Save jsturtevant/07cf82a991516d2eb9452e0ec05e523c to your computer and use it in GitHub Desktop.
aks-engine-addonmanager
set -x
retrycmd() {
retries=$1; wait_sleep=$2; timeout=$3; shift && shift && shift
for i in $(seq 1 $retries); do
timeout $timeout ${@} && break ||
if [ $i -eq $retries ]; then
echo Executed \"$@\" $i times
return 1
else
sleep $wait_sleep
fi
done
echo Executed \"$@\" $i times
}
ADMINUSER="azureuser"
ADDON_MANAGER_SPEC=/etc/kubernetes/manifests/kube-addon-manager.yaml
ADDONS_DIR=/etc/kubernetes/addons
POD_SECURITY_POLICY_SPEC=$ADDONS_DIR/pod-security-policy.yaml
KUBECTL="/usr/local/bin/kubectl --kubeconfig=/home/$ADMINUSER/.kube/config"
# config
mkdir -p $ADDONS_DIR/init && cp $POD_SECURITY_POLICY_SPEC $ADDONS_DIR/init/
sed -i "s|${ADDONS_DIR}|${ADDONS_DIR}/init|g" $ADDON_MANAGER_SPEC
retrycmd 10 5 30 ${KUBECTL} delete pods -l app=kube-addon-manager -n kube-system || \
retrycmd 120 5 30 ${KUBECTL} delete pods -l app=kube-addon-manager -n kube-system --force --grace-period 0
${KUBECTL} get pods -l app=kube-addon-manager -n kube-system -o yaml | grep "${ADDONS_DIR}/init" || echo "failure"
retrycmd 120 5 30 $KUBECTL get podsecuritypolicy privileged restricted
#replaceAddonsInit
rm -Rf ${ADDONS_DIR}/init
sed -i "s|${ADDONS_DIR}/init|${ADDONS_DIR}|g" $ADDON_MANAGER_SPEC
retrycmd 10 5 30 ${KUBECTL} delete pods -l app=kube-addon-manager -n kube-system || \
retrycmd 120 5 30 ${KUBECTL} delete pods -l app=kube-addon-manager -n kube-system --force --grace-period 0
${KUBECTL} get pods -l app=kube-addon-manager -n kube-system -o yaml | grep "${ADDONS_DIR}" || echo "failure"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment