|
59 | 59 | fi
|
60 | 60 | fi
|
61 | 61 |
|
62 |
| -#check the cluster version and decide which version of kubectl to use: |
63 |
| -SERVER_VERSION=$(kubectl version --short=true --context "${KUBECONTEXT}" | grep -i server | cut -d ':' -f2 | cut -d '.' -f2 | sed 's/[^0-9]*//g') |
64 |
| -echo "Server minor version: $SERVER_VERSION" |
65 |
| -if (( "$SERVER_VERSION" <= "6" )); then cp -f /usr/local/bin/kubectl1.6 /usr/local/bin/kubectl; fi 2>/dev/null |
66 |
| -if (( "$SERVER_VERSION" == "14" )); then cp -f /usr/local/bin/kubectl1.14 /usr/local/bin/kubectl; fi 2>/dev/null |
67 |
| -if (( "$SERVER_VERSION" >= "15" )); then cp -f /usr/local/bin/kubectl1.15 /usr/local/bin/kubectl; fi 2>/dev/null |
| 62 | +# Add SERVER_VERSION override and testing capabilities |
| 63 | + |
| 64 | +if [[ -n "${SERVER_VERSION}" ]]; then |
| 65 | + # Dynamically define SERVER_VERSION using kube context |
| 66 | + echo "Statically defined version: ${SERVER_VERSION}" |
| 67 | +else |
| 68 | + # Dynamically define SERVER_VERSION using kube context |
| 69 | + SERVER_VERSION=$(kubectl version --short=true --context "${KUBECONTEXT}" | grep -i server | cut -d ':' -f2 | cut -d '.' -f2 | sed 's/[^0-9]*//g') |
| 70 | + echo "Dynamically defined version: ${SERVER_VERSION}" |
| 71 | +fi |
| 72 | + |
| 73 | +# Determine appropriate kubectl version |
| 74 | +if [[ "${SERVER_VERSION}" -eq "15" ]]; then |
| 75 | + KUBE_CTL="15" |
| 76 | +elif [[ "${SERVER_VERSION}" -le "14" && "${SERVER_VERSION}" -ge "13" ]]; then |
| 77 | + KUBE_CTL="14" |
| 78 | +elif [[ "${SERVER_VERSION}" -le "12" && "${SERVER_VERSION}" -ge "11" ]]; then |
| 79 | + KUBE_CTL="12" |
| 80 | +elif [[ "${SERVER_VERSION}" -le "10" && "${SERVER_VERSION}" -ge "9" ]]; then |
| 81 | + KUBE_CTL="10" |
| 82 | +elif [[ "${SERVER_VERSION}" -ge "6" ]]; then |
| 83 | + KUBE_CTL="6" |
| 84 | +else |
| 85 | + echo "kubectl version: v1.${SERVER_VERSION}" |
| 86 | + fatal "Version Not Supported!!!" |
| 87 | + exit 1 |
| 88 | +fi |
| 89 | + |
| 90 | +# Assign kubectl version |
| 91 | +echo "Setting kubectl to version 1.${KUBE_CTL}" |
| 92 | +cp -f "/usr/local/bin/kubectl1.${KUBE_CTL}" /usr/local/bin/kubectl |
| 93 | + |
| 94 | +# Simple testing logic for making sure versions are set |
| 95 | +if [[ -n "${KUBE_CTL_TEST_VERSION}" ]]; then |
| 96 | + KUBE_CTL_VERSION=`kubectl version --client --short` |
| 97 | + echo "Testing kubectl version is set..." |
| 98 | + if [[ "${KUBE_CTL_VERSION}" == *"${KUBE_CTL_TEST_VERSION}"* ]]; then |
| 99 | + echo "Version correctly set" |
| 100 | + echo "Kubectl Version: ${KUBE_CTL_VERSION}" |
| 101 | + echo "Test Version: ${KUBE_CTL_TEST_VERSION}" |
| 102 | + exit 0 |
| 103 | + else |
| 104 | + echo "Kubectl Version: ${KUBE_CTL_VERSION}" |
| 105 | + echo "Test Version: ${KUBE_CTL_TEST_VERSION}" |
| 106 | + fatal "Version Mismatch!!!" |
| 107 | + exit 1 |
| 108 | + fi |
| 109 | +fi |
| 110 | + |
68 | 111 | [ ! -f "${deployment_file}" ] && echo "Couldn't find $deployment_file file at $(pwd)" && exit 1;
|
69 | 112 |
|
70 | 113 | DEPLOYMENT_FILE=${deployment_file}-$(date '+%y-%m-%d_%H-%M-%S').yml
|
|
0 commit comments