From 7452860f30f6e3e4a028cd96a42c5aec82559fab Mon Sep 17 00:00:00 2001 From: feihujiang Date: Wed, 1 Apr 2015 10:21:55 +0800 Subject: [PATCH] Improve ubuntu-cluster setup scripts This PR implements #6266. Make a copy for each of the original scripts, and modify the copies. These copies will be used as working scripts afterwards. Improve ubuntu-cluster setup scripts --- cluster/ubuntu-cluster/configure.sh | 104 +++++++++++++++++++--------- 1 file changed, 70 insertions(+), 34 deletions(-) diff --git a/cluster/ubuntu-cluster/configure.sh b/cluster/ubuntu-cluster/configure.sh index a87d47a73e4..eaf8adb525b 100755 --- a/cluster/ubuntu-cluster/configure.sh +++ b/cluster/ubuntu-cluster/configure.sh @@ -21,44 +21,79 @@ set -e +#clean all init/init.d/configs +function do_backup_clean() { + #backup all config files + init_files=`ls init_conf` + for i in $init_files + do + if [ -f /etc/init/$i ] + then + mv /etc/init/${i} /etc/init/${i}.bak + fi + done + initd_files=`ls initd_scripts` + for i in $initd_files + do + if [ -f /etc/init.d/$i ] + then + mv /etc/init.d/${i} /etc/init.d/${i}.bak + fi + done + default_files=`ls default_scripts` + for i in $default_files + do + if [ -e /etc/default/$i ] + then + mv /etc/default/${i} /etc/default/${i}.bak + fi + done + # clean work dir + if [ ! -d ./work ] + then + mkdir work + fi + cp -rf default_scripts init_conf initd_scripts work +} + function cpMaster(){ # copy /etc/init files - cp init_conf/etcd.conf /etc/init/ - cp init_conf/kube-apiserver.conf /etc/init/ - cp init_conf/kube-controller-manager.conf /etc/init/ - cp init_conf/kube-scheduler.conf /etc/init/ + cp work/init_conf/etcd.conf /etc/init/ + cp work/init_conf/kube-apiserver.conf /etc/init/ + cp work/init_conf/kube-controller-manager.conf /etc/init/ + cp work/init_conf/kube-scheduler.conf /etc/init/ # copy /etc/initd/ files - cp initd_scripts/etcd /etc/init.d/ - cp initd_scripts/kube-apiserver /etc/init.d/ - cp initd_scripts/kube-controller-manager /etc/init.d/ - cp initd_scripts/kube-scheduler /etc/init.d/ + cp work/initd_scripts/etcd /etc/init.d/ + cp work/initd_scripts/kube-apiserver /etc/init.d/ + cp work/initd_scripts/kube-controller-manager /etc/init.d/ + cp work/initd_scripts/kube-scheduler /etc/init.d/ # copy default configs - cp default_scripts/etcd /etc/default/ - cp default_scripts/kube-apiserver /etc/default/ - cp default_scripts/kube-scheduler /etc/default/ - cp default_scripts/kube-controller-manager /etc/default/ + cp work/default_scripts/etcd /etc/default/ + cp work/default_scripts/kube-apiserver /etc/default/ + cp work/default_scripts/kube-scheduler /etc/default/ + cp work/default_scripts/kube-controller-manager /etc/default/ } function cpMinion(){ # copy /etc/init files - cp init_conf/etcd.conf /etc/init/ - cp init_conf/kubelet.conf /etc/init/ - cp init_conf/flanneld.conf /etc/init/ - cp init_conf/kube-proxy.conf /etc/init/ + cp work/init_conf/etcd.conf /etc/init/etcd.conf + cp work/init_conf/kubelet.conf /etc/init/kubelet.conf + cp work/init_conf/flanneld.conf /etc/init/flanneld.conf + cp work/init_conf/kube-proxy.conf /etc/init/ # copy /etc/initd/ files - cp initd_scripts/etcd /etc/init.d/ - cp initd_scripts/flanneld /etc/init.d/ - cp initd_scripts/kubelet /etc/init.d/ - cp initd_scripts/kube-proxy /etc/init.d/ + cp work/initd_scripts/etcd /etc/init.d/ + cp work/initd_scripts/flanneld /etc/init.d/ + cp work/initd_scripts/kubelet /etc/init.d/ + cp work/initd_scripts/kube-proxy /etc/init.d/ # copy default configs - cp default_scripts/etcd /etc/default/ - cp default_scripts/flanneld /etc/default/ - cp default_scripts/kube-proxy /etc/default - cp default_scripts/kubelet /etc/default/ + cp work/default_scripts/etcd /etc/default/ + cp work/default_scripts/flanneld /etc/default/ + cp work/default_scripts/kube-proxy /etc/default + cp work/default_scripts/kubelet /etc/default/ } # check if input IP in machine list @@ -71,7 +106,7 @@ function inList(){ # set values in ETCD_OPTS function configEtcd(){ - echo ETCD_OPTS=\"-name $1 -initial-advertise-peer-urls http://$2:2380 -listen-peer-urls http://$2:2380 -initial-cluster-token etcd-cluster-1 -initial-cluster $3 -initial-cluster-state new\" > default_scripts/etcd + echo ETCD_OPTS=\"-name $1 -initial-advertise-peer-urls http://$2:2380 -listen-peer-urls http://$2:2380 -initial-cluster-token etcd-cluster-1 -initial-cluster $3 -initial-cluster-state new\" > work/default_scripts/etcd } # check root @@ -115,6 +150,7 @@ if [ "$etcdVersion" != "2.0.0" ]; then exit 1 fi +do_backup_clean # use an array to record name and ip declare -A mm @@ -162,19 +198,19 @@ while true; do inList $etcdName $myIP configEtcd $etcdName $myIP $cluster # For minion set MINION IP in default_scripts/kubelet - sed -i "s/MY_IP/${myIP}/g" default_scripts/kubelet - sed -i "s/MASTER_IP/${masterIP}/g" default_scripts/kubelet - sed -i "s/MASTER_IP/${masterIP}/g" default_scripts/kube-proxy + sed -i "s/MY_IP/${myIP}/g" work/default_scripts/kubelet + sed -i "s/MASTER_IP/${masterIP}/g" work/default_scripts/kubelet + sed -i "s/MASTER_IP/${masterIP}/g" work/default_scripts/kube-proxy # For master set MINION IPs in kube-controller-manager - if [ -z "$minionIPs" ]; then + if [ -z "$minionIPs" ]; then #one node act as both minion and master role minionIPs="$myIP" else minionIPs="$minionIPs,$myIP" fi - sed -i "s/MINION_IPS/${minionIPs}/g" default_scripts/kube-controller-manager + sed -i "s/MINION_IPS/${minionIPs}/g" work/default_scripts/kube-controller-manager cpMaster cpMinion @@ -188,7 +224,7 @@ while true; do inList $etcdName $myIP configEtcd $etcdName $myIP $cluster # set MINION IPs in kube-controller-manager - sed -i "s/MINION_IPS/${minionIPs}/g" default_scripts/kube-controller-manager + sed -i "s/MINION_IPS/${minionIPs}/g" work/default_scripts/kube-controller-manager cpMaster break ;; @@ -200,9 +236,9 @@ while true; do inList $etcdName $myIP configEtcd $etcdName $myIP $cluster # set MINION IP in default_scripts/kubelet - sed -i "s/MY_IP/${myIP}/g" default_scripts/kubelet - sed -i "s/MASTER_IP/${masterIP}/g" default_scripts/kubelet - sed -i "s/MASTER_IP/${masterIP}/g" default_scripts/kube-proxy + sed -i "s/MY_IP/${myIP}/g" work/default_scripts/kubelet + sed -i "s/MASTER_IP/${masterIP}/g" work/default_scripts/kubelet + sed -i "s/MASTER_IP/${masterIP}/g" work/default_scripts/kube-proxy cpMinion break ;;