mirror of https://github.com/easzlab/kubeasz.git
fix: 初始化脚本tools/easzup
parent
90a1fd2c20
commit
9f73d9392f
313
tools/easzup
313
tools/easzup
|
@ -1,31 +1,52 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
#--------------------------------------------------
|
||||||
|
# This script is for:
|
||||||
|
# 1. to download the scripts/binaries/images needed for installing a k8s cluster with kubeasz
|
||||||
|
# 2. to run kubeasz in a container
|
||||||
|
# @author: gjmzj
|
||||||
|
# @usage: ./easzup
|
||||||
|
# @repo: https://github.com/easzlab/kubeasz
|
||||||
|
# @ref: https://github.com/kubeasz/dockerfiles
|
||||||
|
#--------------------------------------------------
|
||||||
|
|
||||||
set -o nounset
|
set -o nounset
|
||||||
set -o errexit
|
set -o errexit
|
||||||
#set -o xtrace
|
#set -o xtrace
|
||||||
|
|
||||||
function install_docker() {
|
# default version, can be overridden by cmd line options
|
||||||
systemctl status docker|grep Active|grep -q running && { echo "[WARN] dockerd already running!"; return 0; }
|
export DOCKER_VER=18.09.6
|
||||||
|
export KUBEASZ_VER=1.3.0
|
||||||
systemctl status containerd|grep Active|grep -q running && { echo "[ERROR] containerd running, but unsupported!"; exit 1; }
|
export K8S_BIN_VER=v1.14.3
|
||||||
|
export EXT_BIN_VER=0.3.0
|
||||||
|
|
||||||
|
function install_docker() {
|
||||||
|
# check if a container runtime is already installed
|
||||||
|
systemctl status docker|grep Active|grep -q running && { echo "[WARN] docker is already running."; return 0; }
|
||||||
|
systemctl status containerd|grep Active|grep -q running && { echo "[ERROR] containerd is running, unsupported."; exit 1; }
|
||||||
|
|
||||||
|
DOCKER_URL=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/docker-${DOCKER_VER}.tgz
|
||||||
|
mkdir -p /opt/kube/bin /etc/docker /etc/ansible/down
|
||||||
|
if [[ -f "/etc/ansible/down/docker-${DOCKER_VER}.tgz" ]];then
|
||||||
|
echo "[INFO] docker binaries already existed"
|
||||||
|
else
|
||||||
|
echo -e "[INFO] \033[33mdownloading docker binaries\033[0m $DOCKER_VER"
|
||||||
|
wget -c -P /etc/ansible/down "$DOCKER_URL" || { echo "[ERROR] downloading docker failed"; exit 1; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
tar zxf /etc/ansible/down/docker-${DOCKER_VER}.tgz -C /etc/ansible/down
|
||||||
|
mv /etc/ansible/down/docker/* /opt/kube/bin
|
||||||
|
ln -sf /opt/kube/bin/docker /bin/docker
|
||||||
|
|
||||||
mkdir -p /opt/kube/bin /etc/docker
|
|
||||||
echo -e "[INFO] \033[33mdownloading docker\033[0m $DOCKER_VER"
|
|
||||||
wget -c https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/docker-$DOCKER_VER.tgz
|
|
||||||
tar zxf docker-$DOCKER_VER.tgz
|
|
||||||
mv docker/* /opt/kube/bin
|
|
||||||
rm -rf docker*
|
|
||||||
ln -sf /opt/kube/bin/docker /bin
|
|
||||||
|
|
||||||
echo "[INFO] generate docker service file"
|
echo "[INFO] generate docker service file"
|
||||||
echo '[Unit]
|
cat > /etc/systemd/system/docker.service << EOF
|
||||||
|
[Unit]
|
||||||
Description=Docker Application Container Engine
|
Description=Docker Application Container Engine
|
||||||
Documentation=http://docs.docker.io
|
Documentation=http://docs.docker.io
|
||||||
[Service]
|
[Service]
|
||||||
Environment="PATH=/opt/kube/bin:/bin:/sbin:/usr/bin:/usr/sbin"
|
Environment="PATH=/opt/kube/bin:/bin:/sbin:/usr/bin:/usr/sbin"
|
||||||
ExecStart=/opt/kube/bin/dockerd
|
ExecStart=/opt/kube/bin/dockerd
|
||||||
ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT
|
ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT
|
||||||
ExecReload=/bin/kill -s HUP $MAINPID
|
ExecReload=/bin/kill -s HUP \$MAINPID
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=5
|
RestartSec=5
|
||||||
LimitNOFILE=infinity
|
LimitNOFILE=infinity
|
||||||
|
@ -34,10 +55,12 @@ LimitCORE=infinity
|
||||||
Delegate=yes
|
Delegate=yes
|
||||||
KillMode=process
|
KillMode=process
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target' > /etc/systemd/system/docker.service
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
echo "[INFO] generate docker config file"
|
echo "[INFO] generate docker config file"
|
||||||
echo '{
|
cat > /etc/docker/daemon.json << EOF
|
||||||
|
{
|
||||||
"registry-mirrors": [
|
"registry-mirrors": [
|
||||||
"https://dockerhub.azk8s.cn",
|
"https://dockerhub.azk8s.cn",
|
||||||
"https://docker.mirrors.ustc.edu.cn",
|
"https://docker.mirrors.ustc.edu.cn",
|
||||||
|
@ -51,7 +74,8 @@ WantedBy=multi-user.target' > /etc/systemd/system/docker.service
|
||||||
"max-file": "3"
|
"max-file": "3"
|
||||||
},
|
},
|
||||||
"data-root": "/var/lib/docker"
|
"data-root": "/var/lib/docker"
|
||||||
}' > /etc/docker/daemon.json
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
echo "[INFO] enable and start docker"
|
echo "[INFO] enable and start docker"
|
||||||
systemctl enable docker
|
systemctl enable docker
|
||||||
|
@ -59,55 +83,54 @@ WantedBy=multi-user.target' > /etc/systemd/system/docker.service
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_kubeasz() {
|
function get_kubeasz() {
|
||||||
if [ -d "/etc/ansible/roles/kube-node" ];then
|
# check if kubeasz already existed
|
||||||
echo "[WARN] kubeasz already Initialized."
|
[[ -d "/etc/ansible/roles/kube-node" ]] && { echo "[WARN] kubeasz already existed"; return 0; }
|
||||||
else
|
# temporarily move docker binaries
|
||||||
echo -e "[INFO] \033[33mdownloading kubeasz\033[0m $KUBEASZ_VER"
|
[[ -f "/etc/ansible/down/docker-${DOCKER_VER}.tgz" ]] && mv "/etc/ansible/down/docker-${DOCKER_VER}.tgz" /tmp
|
||||||
rm -rf /etc/ansible
|
|
||||||
docker pull easzlab/kubeasz:$KUBEASZ_VER
|
rm -rf /etc/ansible && \
|
||||||
echo "[INFO] run a temporary container"
|
echo -e "[INFO] \033[33mdownloading kubeasz\033[0m $KUBEASZ_VER" && \
|
||||||
docker run -d --name temp_easz easzlab/kubeasz:$KUBEASZ_VER
|
docker pull easzlab/kubeasz:${KUBEASZ_VER} && \
|
||||||
echo "[INFO] init kubeasz code"
|
echo "[INFO] run a temporary container" && \
|
||||||
docker cp temp_easz:/etc/ansible /etc/ansible
|
docker run -d --name temp_easz easzlab/kubeasz:${KUBEASZ_VER} && \
|
||||||
echo "[INFO] stop&remove temporary container"
|
echo "[INFO] cp kubeasz code from the temporary container" && \
|
||||||
docker rm -f temp_easz
|
docker cp temp_easz:/etc/ansible /etc/ansible && \
|
||||||
fi
|
echo "[INFO] stop&remove temporary container" && \
|
||||||
|
docker rm -f temp_easz && \
|
||||||
|
[[ -f "/tmp/docker-${DOCKER_VER}.tgz" ]] && mv "/tmp/docker-${DOCKER_VER}.tgz" /etc/ansible/down || true
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_k8s_bin() {
|
function get_k8s_bin() {
|
||||||
if [ -f "/etc/ansible/bin/kubelet" ];then
|
[[ -f "/etc/ansible/bin/kubelet" ]] && { echo "[WARN] kubernetes binaries existed"; return 0; }
|
||||||
echo "[WARN] kubernetes:$K8S_BIN_VER binaries already existed."
|
|
||||||
else
|
echo -e "[INFO] \033[33mdownloading kubernetes\033[0m $K8S_BIN_VER binaries"
|
||||||
echo -e "[INFO] \033[33mdownloading kubernetes\033[0m $K8S_BIN_VER binaries"
|
docker pull easzlab/kubeasz-k8s-bin:${K8S_BIN_VER} && \
|
||||||
docker pull easzlab/kubeasz-k8s-bin:$K8S_BIN_VER
|
echo "[INFO] run a temporary container" && \
|
||||||
echo "[INFO] run a temporary container"
|
docker run -d --name temp_k8s_bin easzlab/kubeasz-k8s-bin:${K8S_BIN_VER} && \
|
||||||
docker run -d --name temp_k8s_bin easzlab/kubeasz-k8s-bin:$K8S_BIN_VER
|
echo "[INFO] cp k8s binaries" && \
|
||||||
echo "[INFO] cp k8s binaries"
|
docker cp temp_k8s_bin:/k8s /k8s_bin_tmp && \
|
||||||
docker cp temp_k8s_bin:/k8s /k8s_bin_tmp && mv /k8s_bin_tmp/* /etc/ansible/bin
|
mv /k8s_bin_tmp/* /etc/ansible/bin && \
|
||||||
echo "[INFO] stop&remove temporary container"
|
echo "[INFO] stop&remove temporary container" && \
|
||||||
docker rm -f temp_k8s_bin
|
docker rm -f temp_k8s_bin && \
|
||||||
rm -rf /k8s_bin_tmp
|
rm -rf /k8s_bin_tmp
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_ext_bin() {
|
function get_ext_bin() {
|
||||||
if [ -f "/etc/ansible/bin/etcdctl" ];then
|
[[ -f "/etc/ansible/bin/etcdctl" ]] && { echo "[WARN] extral binaries existed"; return 0; }
|
||||||
echo "[WARN] extral binaries already existed."
|
|
||||||
else
|
echo -e "[INFO] \033[33mdownloading extral binaries\033[0m kubeasz-ext-bin:$EXT_BIN_VER"
|
||||||
echo -e "[INFO] \033[33mdownloading extral binaries\033[0m kubeasz-ext-bin:$EXT_BIN_VER"
|
docker pull easzlab/kubeasz-ext-bin:${EXT_BIN_VER} && \
|
||||||
docker pull easzlab/kubeasz-ext-bin:$EXT_BIN_VER
|
echo "[INFO] run a temporary container" && \
|
||||||
echo "[INFO] run a temporary container"
|
docker run -d --name temp_ext_bin easzlab/kubeasz-ext-bin:${EXT_BIN_VER} && \
|
||||||
docker run -d --name temp_ext_bin easzlab/kubeasz-ext-bin:$EXT_BIN_VER
|
echo "[INFO] cp extral binaries" && \
|
||||||
echo "[INFO] cp extral binaries"
|
docker cp temp_ext_bin:/extra /extra_bin_tmp && \
|
||||||
docker cp temp_ext_bin:/extra /extra_bin_tmp && mv /extra_bin_tmp/* /etc/ansible/bin
|
mv /extra_bin_tmp/* /etc/ansible/bin && \
|
||||||
echo "[INFO] stop&remove temporary container"
|
echo "[INFO] stop&remove temporary container" && \
|
||||||
docker rm -f temp_ext_bin
|
docker rm -f temp_ext_bin && \
|
||||||
rm -rf /extra_bin_tmp
|
rm -rf /extra_bin_tmp
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_offline_image() {
|
function get_offline_image() {
|
||||||
|
|
||||||
calicoVer=v3.4.4
|
calicoVer=v3.4.4
|
||||||
corednsVer=1.5.0
|
corednsVer=1.5.0
|
||||||
dashboardVer=v1.10.1
|
dashboardVer=v1.10.1
|
||||||
|
@ -118,63 +141,60 @@ function get_offline_image() {
|
||||||
traefikVer=v1.7.12
|
traefikVer=v1.7.12
|
||||||
|
|
||||||
imageDir=/etc/ansible/down
|
imageDir=/etc/ansible/down
|
||||||
[ -d "$imageDir" ] || { echo "[ERROR] $imageDir not existed!"; exit 1; }
|
[[ -d "$imageDir" ]] || { echo "[ERROR] $imageDir not existed!"; exit 1; }
|
||||||
|
|
||||||
echo -e "[INFO] \033[33mdownloading offline images\033[0m"
|
echo -e "[INFO] \033[33mdownloading offline images\033[0m"
|
||||||
|
|
||||||
if [ ! -f "$imageDir/calico_${calicoVer}.tar" ];then
|
if [[ ! -f "$imageDir/calico_$calicoVer.tar" ]];then
|
||||||
docker pull calico/cni:$calicoVer
|
docker pull calico/cni:${calicoVer} && \
|
||||||
docker pull calico/kube-controllers:$calicoVer
|
docker pull calico/kube-controllers:${calicoVer} && \
|
||||||
docker pull calico/node:$calicoVer
|
docker pull calico/node:${calicoVer} && \
|
||||||
docker save -o $imageDir/calico_${calicoVer}.tar calico/cni:$calicoVer calico/kube-controllers:$calicoVer calico/node:$calicoVer
|
docker save -o ${imageDir}/calico_${calicoVer}.tar calico/cni:${calicoVer} calico/kube-controllers:${calicoVer} calico/node:${calicoVer}
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$imageDir/coredns_${corednsVer}.tar" ];then
|
if [[ ! -f "$imageDir/coredns_$corednsVer.tar" ]];then
|
||||||
docker pull coredns/coredns:$corednsVer
|
docker pull coredns/coredns:${corednsVer} && \
|
||||||
docker save -o $imageDir/coredns_${corednsVer}.tar coredns/coredns:$corednsVer
|
docker save -o ${imageDir}/coredns_${corednsVer}.tar coredns/coredns:${corednsVer}
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$imageDir/dashboard_${dashboardVer}.tar" ];then
|
if [[ ! -f "$imageDir/dashboard_$dashboardVer.tar" ]];then
|
||||||
docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:$dashboardVer
|
docker pull mirrorgooglecontainers/kubernetes-dashboard-amd64:${dashboardVer} && \
|
||||||
docker save -o $imageDir/dashboard_${dashboardVer}.tar mirrorgooglecontainers/kubernetes-dashboard-amd64:$dashboardVer
|
docker save -o ${imageDir}/dashboard_${dashboardVer}.tar mirrorgooglecontainers/kubernetes-dashboard-amd64:${dashboardVer}
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$imageDir/flannel_${flannelVer}.tar" ];then
|
if [[ ! -f "$imageDir/flannel_$flannelVer.tar" ]];then
|
||||||
docker pull easzlab/flannel:$flannelVer
|
docker pull easzlab/flannel:${flannelVer} && \
|
||||||
docker save -o $imageDir/flannel_${flannelVer}.tar easzlab/flannel:$flannelVer
|
docker save -o ${imageDir}/flannel_${flannelVer}.tar easzlab/flannel:${flannelVer}
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$imageDir/heapster_${heapsterVer}.tar" ];then
|
if [[ ! -f "$imageDir/heapster_$heapsterVer.tar" ]];then
|
||||||
docker pull mirrorgooglecontainers/heapster-amd64:$heapsterVer
|
docker pull mirrorgooglecontainers/heapster-amd64:${heapsterVer} && \
|
||||||
docker save -o $imageDir/heapster_${heapsterVer}.tar mirrorgooglecontainers/heapster-amd64:$heapsterVer
|
docker save -o ${imageDir}/heapster_${heapsterVer}.tar mirrorgooglecontainers/heapster-amd64:${heapsterVer}
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$imageDir/metrics-server_${metricsVer}.tar" ];then
|
if [[ ! -f "$imageDir/metrics-server_$metricsVer.tar" ]];then
|
||||||
docker pull mirrorgooglecontainers/metrics-server-amd64:$metricsVer
|
docker pull mirrorgooglecontainers/metrics-server-amd64:${metricsVer} && \
|
||||||
docker save -o $imageDir/metrics-server_${metricsVer}.tar mirrorgooglecontainers/metrics-server-amd64:$metricsVer
|
docker save -o ${imageDir}/metrics-server_${metricsVer}.tar mirrorgooglecontainers/metrics-server-amd64:${metricsVer}
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$imageDir/pause_${pauseVer}.tar" ];then
|
if [[ ! -f "$imageDir/pause_$pauseVer.tar" ]];then
|
||||||
docker pull mirrorgooglecontainers/pause-amd64:$pauseVer
|
docker pull mirrorgooglecontainers/pause-amd64:${pauseVer} && \
|
||||||
docker save -o $imageDir/pause_${pauseVer}.tar mirrorgooglecontainers/pause-amd64:$pauseVer
|
docker save -o ${imageDir}/pause_${pauseVer}.tar mirrorgooglecontainers/pause-amd64:${pauseVer}
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$imageDir/traefik_${traefikVer}.tar" ];then
|
if [[ ! -f "$imageDir/traefik_$traefikVer.tar" ]];then
|
||||||
docker pull traefik:$traefikVer
|
docker pull traefik:${traefikVer} && \
|
||||||
docker save -o $imageDir/traefik_${traefikVer}.tar traefik:$traefikVer
|
docker save -o ${imageDir}/traefik_${traefikVer}.tar traefik:${traefikVer}
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function download_all() {
|
function download_all() {
|
||||||
install_docker
|
install_docker && \
|
||||||
get_kubeasz
|
get_kubeasz && \
|
||||||
get_k8s_bin
|
get_k8s_bin && \
|
||||||
get_ext_bin
|
get_ext_bin && \
|
||||||
get_offline_image
|
get_offline_image
|
||||||
}
|
}
|
||||||
|
|
||||||
function start_kubeasz_docker() {
|
function start_kubeasz_docker() {
|
||||||
if [ ! -d "/etc/ansible/roles/kube-node" ];then
|
[[ -d "/etc/ansible/roles/kube-node" ]] || { echo "[ERROR] not initialized. try 'easzup -D' first."; exit 1; }
|
||||||
echo "[ERROR] not initialized. try 'easzup -D' first."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# get host's IP
|
# get host's IP
|
||||||
host_if=$(ip route|grep default|cut -d' ' -f5)
|
host_if=$(ip route|grep default|cut -d' ' -f5)
|
||||||
host_ip=$(ip a|grep $host_if|awk 'NR==2{print $2}'|cut -d'/' -f1)
|
host_ip=$(ip a|grep "$host_if"|awk 'NR==2{print $2}'|cut -d'/' -f1)
|
||||||
echo "[INFO] get host IP: $host_ip"
|
echo "[INFO] get host IP: $host_ip"
|
||||||
|
|
||||||
# run kubeasz docker container
|
# run kubeasz docker container
|
||||||
|
@ -182,13 +202,13 @@ function start_kubeasz_docker() {
|
||||||
docker run --detach \
|
docker run --detach \
|
||||||
--name kubeasz \
|
--name kubeasz \
|
||||||
--restart always \
|
--restart always \
|
||||||
--env HOST_IP=$host_ip \
|
--env HOST_IP="$host_ip" \
|
||||||
--volume /etc/ansible:/etc/ansible \
|
--volume /etc/ansible:/etc/ansible \
|
||||||
--volume /root/.kube:/root/.kube \
|
--volume /root/.kube:/root/.kube \
|
||||||
--volume /root/.ssh/id_rsa:/root/.ssh/id_rsa:ro \
|
--volume /root/.ssh/id_rsa:/root/.ssh/id_rsa:ro \
|
||||||
--volume /root/.ssh/id_rsa.pub:/root/.ssh/id_rsa.pub:ro \
|
--volume /root/.ssh/id_rsa.pub:/root/.ssh/id_rsa.pub:ro \
|
||||||
--volume /root/.ssh/known_hosts:/root/.ssh/known_hosts:ro \
|
--volume /root/.ssh/known_hosts:/root/.ssh/known_hosts:ro \
|
||||||
easzlab/kubeasz:$KUBEASZ_VER
|
easzlab/kubeasz:${KUBEASZ_VER}
|
||||||
}
|
}
|
||||||
|
|
||||||
function clean_container() {
|
function clean_container() {
|
||||||
|
@ -212,61 +232,52 @@ see more at https://github.com/kubeasz/dockerfiles
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
function process_cmd() {
|
### Main Lines ##################################################
|
||||||
echo -e "[INFO] \033[33mAction begin\033[0m : $ACTION"
|
function main() {
|
||||||
$ACTION || { echo -e "[ERROR] \033[31mAction failed\033[0m : $ACTION"; return 1; }
|
# check if use bash shell
|
||||||
echo -e "[INFO] \033[32mAction successed\033[0m : $ACTION"
|
readlink /proc/$$/exe|grep -q "dash" && { echo "[ERROR] you should use bash shell, not sh"; exit 1; }
|
||||||
|
# check if use with root
|
||||||
|
[[ "$EUID" -ne 0 ]] && { echo "[ERROR] you should run this script as root"; exit 1; }
|
||||||
|
|
||||||
|
[[ "$#" -eq 0 ]] && { usage >&2; exit 1; }
|
||||||
|
|
||||||
|
ACTION=""
|
||||||
|
while getopts "CDSd:e:k:z:" OPTION; do
|
||||||
|
case "$OPTION" in
|
||||||
|
C)
|
||||||
|
ACTION="clean_container"
|
||||||
|
;;
|
||||||
|
D)
|
||||||
|
ACTION="download_all"
|
||||||
|
;;
|
||||||
|
S)
|
||||||
|
ACTION="start_kubeasz_docker"
|
||||||
|
;;
|
||||||
|
d)
|
||||||
|
export DOCKER_VER="$OPTARG"
|
||||||
|
;;
|
||||||
|
e)
|
||||||
|
export EXT_BIN_VER="$OPTARG"
|
||||||
|
;;
|
||||||
|
k)
|
||||||
|
export K8S_BIN_VER="$OPTARG"
|
||||||
|
;;
|
||||||
|
z)
|
||||||
|
export KUBEASZ_VER="$OPTARG"
|
||||||
|
;;
|
||||||
|
?)
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
[[ "$ACTION" == "" ]] && { echo "[ERROR] illegal option"; usage; exit 1; }
|
||||||
|
|
||||||
|
# excute cmd "$ACTION"
|
||||||
|
echo -e "[INFO] \033[33mAction begin\033[0m : $ACTION"
|
||||||
|
${ACTION} || { echo -e "[ERROR] \033[31mAction failed\033[0m : $ACTION"; return 1; }
|
||||||
|
echo -e "[INFO] \033[32mAction successed\033[0m : $ACTION"
|
||||||
}
|
}
|
||||||
|
|
||||||
### Main Lines ##################################################
|
main "$@"
|
||||||
if readlink /proc/$$/exe | grep -q "dash"; then
|
|
||||||
echo "[ERROR] This script needs to be run with bash, not sh"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$EUID" -ne 0 ]]; then
|
|
||||||
echo "[ERROR] Sorry, you need to run this as root"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ "$#" -gt 0 ] || { usage >&2; exit 2; }
|
|
||||||
|
|
||||||
# default version, can be overridden by cmd line options
|
|
||||||
export DOCKER_VER=18.09.6
|
|
||||||
export KUBEASZ_VER=1.3.0
|
|
||||||
export K8S_BIN_VER=v1.14.3
|
|
||||||
export EXT_BIN_VER=0.3.0
|
|
||||||
|
|
||||||
ACTION=""
|
|
||||||
|
|
||||||
while getopts "CDSd:e:k:z:" OPTION; do
|
|
||||||
case $OPTION in
|
|
||||||
C)
|
|
||||||
ACTION="clean_container"
|
|
||||||
;;
|
|
||||||
D)
|
|
||||||
ACTION="download_all"
|
|
||||||
;;
|
|
||||||
S)
|
|
||||||
ACTION="start_kubeasz_docker"
|
|
||||||
;;
|
|
||||||
d)
|
|
||||||
export DOCKER_VER=$OPTARG
|
|
||||||
;;
|
|
||||||
e)
|
|
||||||
export EXT_BIN_VER=$OPTARG
|
|
||||||
;;
|
|
||||||
k)
|
|
||||||
export K8S_BIN_VER=$OPTARG
|
|
||||||
;;
|
|
||||||
z)
|
|
||||||
export KUBEASZ_VER=$OPTARG
|
|
||||||
;;
|
|
||||||
?)
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
process_cmd
|
|
||||||
|
|
Loading…
Reference in New Issue