1.在master01,master02,master03主机上安装pcs和fence-agents-all
sudo yum install pcs fence-agents-all
注:安装后会自动创建hacluster用户
sudo systemctl start pcsd
2. 修改hacluster用户的密码,所有master节点都执行
echo hacluster | sudo passwd -f --stdin hacluster
3.启动psc服务(一台执行)
sudo pcs cluster auth -u hacluster -p hacluster master01 master02 master03
sudo pcs cluster setup --start --name high-availability-kubernetes master01 master02 master03
sudo pcs resource create virtual-ip IPaddr2 ip=10.0.92.222 --group master (这里请添写hostname为vip的主机地址)
sudo pcs resource create apiserver systemd:kube-apiserver --group master
sudo pcs resource create scheduler systemd:kube-scheduler --group master
sudo pcs resource create controller systemd:kube-controller-manager --group master
sudo pcs property set stonith-enabled=false
如有某进程工作异常 需要删除 重新创建的情况
可以通过pcs resource cleanup和delete配合删除。
踩过的坑:
个别节点上的hacluster用户被误删,添加回来时没有添加正确,如果hacluster用户被删除,确保用下面命令添加到haclient这个用户组sudo useradd -u 189 -d /home/hacluster -g haclient hacluster
各节点上的corosync.conf文件要保持一致,遇到过个别节点上的配置信息cluster_name与其它节点不一样的情况,导致无法把这个节点添加到集群中,通常会提示"alreay in a cluster"的错误信息 个别节点的/proc/sys/kernel/pid_max 设置的值大于99999 ,这会触发libqb-0.17.1 的bug ,导致Library error和kernel 的segfault ,最终导致这个节点的cib.xml 无法正常创建,pacemaker 服务无法正常启动,详细信息参看下面的链接:https://bugzilla.redhat.com/show_bug.cgi?id=1114852