Environmental preparation
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
# every host set hostname
sudo hostnamectl set-hostname master01
sudo hostnamectl set-hostname node01
sudo hostnamectl set-hostname node02
# master node add hosts
cat >> /etc/hosts << EOF
182.168.10.101 master01
182.168.10.102 node01
182.168.10.103 node02
EOF
# password-free login
ssh-keygen -t rsa
# copy id_rsa_pub to remote host,start password-free login
ssh-copy-id user@node01
ssh-copy-id user@node02
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
# stop firewall and selinux
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0
# close swap
swapoff -a && sed -ri 's/.*swap.*/#&/' /etc/fstab
# Time synchronization
docker install
# 卸载旧docker
yum remove docker docker-common container-selinux docker-selinux docker-engine
# 更新yum
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 更新yum源:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新索引
yum makecache fast
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl status docker
systemctl enable docker
docker info