生产环境不要使用一主多从,要使用多主多从。这里使用三台主机进行测试一台 Master(172.16.20.111),两台 Node(172.16.20.112 和 172.16.20.113)
1、设置主机名
CentOS7 安装完成之后,设置固定 ip,三台主机做相同设置
vi /etc/sysconfig/network-scripts/ifcfg-ens33#在最下面ONBOOT改为yes,新增固定地址IPADDR,172.16.20.111,172.16.20.112,172.16.20.113
ONBOOT=yes
IPADDR=172.16.20.111
三台主机 ip 分别设置好之后,修改 hosts 文件,设置主机名
#master 机器上执行
hostnamectl set-hostname master#node1 机器上执行
hostnamectl set-hostname node1#node2 机器上执行
hostnamectl set-hostname node2
vi /etc/hosts172.16.20.111 master
172.16.20.112 node1
172.16.20.113 node2
2、时间同步
开启 chronyd 服务
systemctl start chronyd
设置开机启动
systemctl enable chronyd
测试
date
3、禁用 firewalld 和 iptables(测试环境)
systemctl stop firewalld
systemctl disable firewalldsystemctl stop iptables
systemctl disable iptables
4、禁用 selinux
vi /etc/selinux/configSELINUX=disabled
5、禁用 swap 分区
注释掉 /dev/mapper/centos-swap swap
vi /etc/fstab# 注释掉
# /dev/mapper/centos-swap swap
6、修改 linux 的内核参数
vi /etc/sysctl.d/kubernetes.confnet.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1#重新加载配置
sysctl -p#加载网桥过滤模块
modprobe br_netfilter#查看网桥过滤模块
lsmod | grep br_netfilter
7、配置 ipvs
安装 ipset 和 ipvsadm
yum install ipset ipvsadm -y
添加需要加载的模块(整个执行)
cat <<EOF> /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
添加执行权限
chmod +x /etc/sysconfig/modules/ipvs.modules
执行脚本
/bin/bash /etc/sysconfig/modules/ipvs.modules
查看是否加载成功
lsmod | grep -e -ip_vs -e nf_conntrack_ipv4
以上完成设置之后,一定要执行重启使配置生效
reboot
这里只是使用三台服务器举例说明,集群环境中肯定不止三台服务器,如果有多台服务器,那么依次按照以上步骤设置即可。