mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-06 11:42:14 +00:00
Refactored kube-push.sh script
The script allows also to push binaries only to the master or specified node. Added support for released tars. Introduced new push methods and implemented them for GCE.
This commit is contained in:
@@ -27,10 +27,61 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
|
||||
source "${KUBE_ROOT}/cluster/kube-env.sh"
|
||||
source "${KUBE_ROOT}/cluster/${KUBERNETES_PROVIDER}/util.sh"
|
||||
|
||||
echo "Updating cluster using provider: $KUBERNETES_PROVIDER"
|
||||
function usage() {
|
||||
echo "${0} [-m|-n <node id>] <version>"
|
||||
echo " Updates Kurnetes binaries. Can be done for all components (by default), master(-m) or specified node(-n)."
|
||||
echo " If the version is not specified will try to use local binaries."
|
||||
echo " Warning: upgrading single node is experimental"
|
||||
}
|
||||
|
||||
push_to_master=false
|
||||
push_to_node=false
|
||||
|
||||
while getopts "mn:h" opt; do
|
||||
case ${opt} in
|
||||
m)
|
||||
push_to_master=true;;
|
||||
n)
|
||||
push_to_node=true
|
||||
node_id="$OPTARG";;
|
||||
h)
|
||||
usage
|
||||
exit 0;;
|
||||
\?)
|
||||
echo "Invalid option: -$OPTARG" >&2
|
||||
usage
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND-1))
|
||||
|
||||
if [[ "${push_to_master}" == "true" ]] && [[ "${push_to_node}" == "true" ]]; then
|
||||
echo "Only one of options -m -n should be specified"
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
verify-prereqs
|
||||
kube-push
|
||||
KUBE_VERSION=${1-}
|
||||
|
||||
if [[ "${push_to_master}" == "false" ]] && [[ "${push_to_node}" == "false" ]]; then
|
||||
echo "Updating cluster using provider: $KUBERNETES_PROVIDER"
|
||||
kube-push
|
||||
fi
|
||||
|
||||
if [[ "${push_to_master}" == "true" ]]; then
|
||||
echo "Udating master to version ${KUBE_VERSION:-"dev"}"
|
||||
prepare-push false
|
||||
push-master
|
||||
fi
|
||||
|
||||
if [[ "${push_to_node}" == "true" ]]; then
|
||||
echo "Updating node $node_id to version ${KUBE_VERSION:-"dev"}"
|
||||
prepare-push true
|
||||
push-node $node_id
|
||||
fi
|
||||
|
||||
echo "Validating cluster post-push..."
|
||||
|
||||
"${KUBE_ROOT}/cluster/validate-cluster.sh"
|
||||
|
||||
|
Reference in New Issue
Block a user