1、由于kubernetes是要求安装在Centos 7.5以上,所以检查当前系统的版本
[root@master ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
2、主机名称的解析
为了方便后续的直接调用,修改配置主机名的解析
编辑2台服务器的/etc/hosts文件,并且添加以下内容
192.168.106.100 master
192.168.106.101 node1
然后在两台服务器上ping一下看能否ping通,出现如下提示,则表示主机名解析配置完成
[root@master ~]# ping node1
PING node1 (192.168.106.101) 56(84) bytes of data.
64 bytes from node1 (192.168.106.101): icmp_seq=1 ttl=64 time=0.368 ms
64 bytes from node1 (192.168.106.101): icmp_seq=2 ttl=64 time=1.40 ms
64 bytes from node1 (192.168.106.101): icmp_seq=3 ttl=64 time=0.948 ms
64 bytes from node1 (192.168.106.101): icmp_seq=4 ttl=64 time=0.863 ms
64 bytes from node1 (192.168.106.101): icmp_seq=5 ttl=64 time=0.911 ms
3、设置时间同步
kubernets集群要求节点的时间必须精确且一直,该案例直接使用chronyd服务进行网络时间同步
#启动chronyd服务
[root@master ~]# systemctl start chronyd
#设置开机自启动
[root@master ~]# systemctl enable chronyd
4、禁用iptables和firewall服务
#停止firewall服务
[root@master ~]# systemctl stop firewalld
#关闭开机自启动设置
[root@master ~]# systemctl disable firewalld
#停止iptables服务,如果提示停止失败,则可能表示安装的系统中没有安装该服务,则无需进行停止和关闭开机自启动
[root@master ~]# systemctl stop iptables
#关闭开机自启动设置
[root@master ~]# systemctl disable iptables
5、禁用setlinux
#将 /etc/selinux/config文件中的以下属性设置为disabled
SELINUX=disabled
6、禁用swap分区设置
#将 /dev/mapper/centos-swap 注释掉
/dev/mapper/centos-root / xfs defaults 0 0
UUID=4c619749-cb1a-4001-b1d9-9c5b200b0f4f /boot xfs defaults 0 0
#/dev/mapper/centos-swap swap swap defaults 0 0
7、修改内核参数
添加网桥过滤和地址转发功能
编辑/etc/sysctl.d/kubernetes.conf文件,添加如下的配置项
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
#重新加载配置
[root@master ~]# sysctl -p
#加载网桥过滤模块
[root@master ~]# modprobe br_netfilter
#查看模块是否加载成功
[root@master ~]# lsmod | grep br_netfilter
br_netfilter 22256 0
bridge 151336 1 br_netfilter
8、配置ipvs功能
#安装ipset 和 ipvsadm
[root@master ~]# yum install ipset ipvsadm -y
#创建 文件 /etc/sysconfig/modules/ipvs.modules,b并且输入以下内容
[root@master ~]# vim /etc/sysconfig/modules/ipvs.modules
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
#为脚本设置执行权限
[root@master ~]# chmod +x /etc/sysconfig/modules/ipvs.modules
#执行脚本文件
[root@master ~]# /bin/bash /etc/sysconfig/modules/ipvs.modules
#查看模块是否加载完毕,并提示如下信息表示模块加载没有问题
[root@master ~]# lsmod | grep -e ip_vs -e nf_conntrack_ipv4
ip_vs_sh 12688 0
nf_conntrack_ipv4 15053 0
nf_defrag_ipv4 12729 1 nf_conntrack_ipv4
ip_vs_wrr 12697 0
ip_vs_rr 12600 0
ip_vs 145458 6 ip_vs_rr,ip_vs_sh,ip_vs_wrr
nf_conntrack 139264 2 ip_vs,nf_conntrack_ipv4
libcrc32c 12644 3 xfs,ip_vs,nf_conntrack
9、重启服务器
[root@master ~]# reboot