Last active
November 15, 2021 23:03
-
-
Save jsturtevant/07cf82a991516d2eb9452e0ec05e523c to your computer and use it in GitHub Desktop.
aks-engine-addonmanager
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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