1、环境准备
- 主机规划
hostname |
IP |
CentOS |
部署 |
pod网段 |
service网段 |
k8s-master |
192.168.2.51 |
7.6 |
docker , kubeadm, kubelet , kubectl |
10.1.0.0/16 |
172.16.0.0/16 |
k8s-node01 |
192.168.2.52 |
7.6 |
docker , kubeadm , kubelet |
10.1.0.0/16 |
172.16.0.0/16 |
k8s-node02 |
192.168.2.53 |
7.6 |
docker , kubeadm , kubelet |
10.1.0.0/16 |
172.16.0.0/16 |
- 节点检查:主机名、MAC、uuid唯一
hostname
ip link 或 ifconfig -a
cat /sys/class/dmi/id/product_uuid
- 关闭防火墙(所有节点)
systemctl stop firewalld && systemctl disable firewalld
- 关闭selinux(所有节点)
setenforce 0 && sed -i 's/enforcing/disabled/g' /etc/selinux/config
- 同步服务器时间(所有节点)
yum install ntpdate -y && ntpdate ntp.api.bz
#先用ntpdate强制同步时间,然后配置ntpd服务持续同步
- 关闭swap(所有节点)
swapoff -a && sed -i 's/^.*swap/#&/g' /etc/fstab
#永久关闭swap,在/etc/fstab 中含有swap的行前加#
- 集群所有节点可以互相解析(所有节点)
cat <<EOF >> /etc/hosts
192.168.2.51 k8s-master
192.168.2.52 k8s-node01
192.168.2.53 k8s-node02
EOF
- master对node节点ssh公钥分发(master)
ssh-keygen
ssh-copy-id k8s-node01
ssh-copy-id k8s-node02
- 系统参数调整(所有节点)
cat <<EOF > /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1