#!/bin/sh
timestamp() {
date +'%Y-%m-%d %H:%M:%S'
}
die (){
ts=`timestamp`
echo "$ts ERR: $@"
exit 1
}
log (){
ts=`timestamp`
echo "$ts INFO: $@"
}
warn (){
ts=`timestamp`
echo "$ts WARN: $@"
}
run() {
log "$@"
$@
}
get_ip() {
L_IP=`hostname -I| cut -d" " -f 1`
echo $L_IP
[ -z "$L_IP" ] && L_IP=null && die "获取本机IP失败!!!"
}
log "===================================="
log "====** Activating Begin **===="
log "===================================="
selinux_status=$(/usr/sbin/getenforce)
if [ $selinux_status == "Disabled" ] ;then echo "selinux_status is disabled,continue...";else echo "selinux status is ${selinux_status},install will breakup...";exit 0 ;fi
cd /tmp
get_ip
URL_BASE='http://10.255.57.7:8090/upload/k8s'
MANIFESTS_DIR='/etc/kubernetes/manifests'
SSL_DIR='/etc/kubernetes/ssl'
[ -d "$MANIFESTS_DIR" ] || run "mkdir -p $MANIFESTS_DIR"
[ -d "$SSL_DIR" ] || run "mkdir -p $SSL_DIR "
run " mkdir -p /etc/cni/net.d /opt/cni/bin/ /var/lib/kubelet "
if ! grep "hub-dev.example.com" /etc/hosts ; then echo "10.255.57.7 hub-dev.example.com" >> /etc/hosts; fi
log "Update os software..."
run "yum update -y -q"
if [ $? == 0 ];then echo "Update sucess...";else echo "Update failed,install will breakup...";exit 0 ;fi
rpm -qa |grep -q 'docker-ce'
if [ $? -ne 0 ];then
rm -rf /tmp/docker_install_pkg*
log "install docker-ce-17.03"
run "wget -q --timeout=30 -O /tmp/ $URL_BASE/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm" \
|| die "Download failed on docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm!!!"
run "wget -q --timeout=30 -O /tmp/ $URL_BASE/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm" \
|| die "Download failed on docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm!!!"
log "Install docker-ce-17.03..."
run "yum install /tmp/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm -y" \
|| die "Install pkg failed on docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm !!!"
run "yum install /tmp/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm -y" \
|| die "Install pkg failed on docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm !!!"
else
log "Docker-versio docker-ce is already installed"
fi
log "Download docker.service config..."
run "wget -q --timeout=5 -O /usr/lib/systemd/system/docker.service $URL_BASE/docker.service" \
|| die "Download config on docker.service !!!"
log "Download sysctl.conf config..."
run "wget -q --timeout=5 -O /etc/sysctl.conf $URL_BASE/sysctl.conf" \
|| die "Download config on sysctl.conf !!!"
log "Download kubelet pkg and config..."
run "wget -q --timeout=60 -O /usr/local/bin/kubelet $URL_BASE/kubelet" \
|| die "Download pkg on kubelet !!!"
run "chmod +x /usr/local/bin/kubelet"
run "wget -q --timeout=5 -O /etc/kubernetes/bootstrap.kubeconfig $URL_BASE/bootstrap.kubeconfig" \
|| die "Download config on bootstrap.kubeconfig !!!"
run "wget -q --timeout=5 -O /usr/lib/systemd/system/kubelet.service $URL_BASE/kubelet.service" \
|| die "Download config on kubelet.service !!!"
run "sed -i s#xxx.xxx.xxx.xxx#$L_IP#g /usr/lib/systemd/system/kubelet.service" \
|| die "Fix config on kubelet.service !!!"
log "Download kube-proxy.kubeconfig configfile..."
run "wget -q --timeout=5 -O /etc/kubernetes/kube-proxy.kubeconfig $URL_BASE/kube-proxy.kubeconfig" \
|| die "Download config on kube-proxy.kubeconfig !!!"
log "Download ipvsadm pkg..."
run "wget -q --timeout=60 -O /usr/local/bin/ipvsadm $URL_BASE/ipvsadm" \
|| die "Download pkg on ipvsadm !!!"
run "chmod +x /usr/local/bin/ipvsadm"
log "Start docker server ..."
run "systemctl enable docker"
run "systemctl start docker" \
|| die "Start docker server faild ... !!!"
log "Start kubelet server ..."
run "systemctl enable kubelet"
run "systemctl start kubelet" \
|| die "Start kubelet server faild ... !!!"
log "===================================="
log "====** Activating End **===="
log "===================================="