#!/bin/bash
#This script will auto-install docker-ce version 19
##check service
service='firewalld'
echo "step 1 :check $service service status"
status=$(systemctl status firewalld|grep Active:|awk -F ' ' '{print $2}')
if [ $status != 'Inactive' ];then
? ? echo "stop & disable service $status"
? ? systemctl stop firewalld
? ? systemctl disable firewalld
fi
echo "$service is Inactive, check passed"
echo 'step 2 :check selinux config'
sed -i 's/enforcing/disabled/' /etc/selinux/config
#setenforce 01 臨時關(guān)閉
echo 'selinux disabled'
echo 'check swap setting'
swapoff -a # 臨時關(guān)閉
sed -ri 's/.*swap.*/#&/' /etc/fstab? #永久關(guān)閉
echo 'update host file'
cat > /etc/hosts << EOF
10.0.37.150 k8s-master1
10.0.37.151 k8s-master2
10.0.37.152 k8s-node1
10.0.37.152 k8s-node2
EOF
echo 'update iptable bridge setting'
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
#remove old version
yum remove docker \
? ? ? ? ? ? ? ? ? docker-client \
? ? ? ? ? ? ? ? ? docker-client-latest \
? ? ? ? ? ? ? ? ? docker-common \
? ? ? ? ? ? ? ? ? docker-latest \
? ? ? ? ? ? ? ? ? docker-latest-logrotate \
? ? ? ? ? ? ? ? ? docker-logrotate \
? ? ? ? ? ? ? ? ? docker-engine? ? &> /dev/null
#install dependicies
yum install -y yum-utils &>/dev/null
#update repo to aliyun
yum-config-manager \
? ? --add-repo \
? ? https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
#upate index
yum makecache fast? &>/dev/null
#install docker
yum install -y docker-ce-19.03.9 docker-ce-cli-19.03.9 containerd.io? &> /dev/null
#update docker image
cat <<EOF | sudo tee /etc/docker/daemon.json
{
? "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
? "exec-opts": ["native.cgroupdriver=systemd"],
? "log-driver": "json-file",
? "log-opts": {
? "max-size": "100m"
? },
? "storage-driver": "overlay2"
}
EOF
#start docker
systemctl daemon-reload
systemctl enable docker
systemctl start docker
#install kubeadm
echo 'Update k8s yum repos'
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
echo 'Install kubelet, kubeadm,kubectl'
yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0? &> /dev/null
echo 'enable kubelet'
systemctl daemon-reload
systemctl enable kubelet
systemctl start kubelet