K8S高可用集群安装指南

1、设置主机名

通过hostnamectl命令修改每台主机名,以下是参考示例:

hostnamectl set-hostname k8s-master-0

主机名修改完毕后,在每台机器的hosts文件中都加入所有主机名与IP的映射关系,示例如下:

# 高可用浮动IP
10.16.10.60	vip-k8s-master
10.16.10.61	k8s-master-0
10.16.10.62	k8s-master-1
10.16.10.63	k8s-master-2
10.16.10.64	k8s-node-0
10.16.10.65	k8s-node-1
10.16.10.66	k8s-node-2
10.16.10.67	k8s-node-3

2、在所有控制节点上安装keepalived和haproxy

在每个控制节点上都执行以下命令进行安装:

yum install haproxy keepalived -y

在k8s-master-0上创建/etc/keepalived/check_apiserver.sh脚本:

添加执行权限:

修改keepalived配置文件:

将以下内容粘贴到/etc/keepalived/keepalived.conf文件中:

注意: 将keepalived.conf复制到另外两台控制节点时将state修改成SLAVE,priority改成254和253。

修改haproxy配置文件:

删除default块之后的全部内容,并添加以下内容:

将keepalived和haproxy配置文件复制到其他两台服务器:

修改系统配置:

3、关闭swap

如果不关闭swap,kubernetes运行会出现错误, 即使安装成功了,node重启后也会出现kubernetes server运行错误。

4、安装kubeadm、kubelet、kubectl

添加软件源:

安装软件:

在所有节点启用服务:

5、containerd配置

注释 disabled_plugins = ["cri"] ,增加私有镜像仓库配置:

sandbox image配置没有生效,集群在部署时总是去获取,此处暂时使用一个折中方案,在本地给镜像新增tag:

6、初始化集群

部署网络组件:

在k8s-master-1和k8s-master-2节点上执行命令示例如下:

在工作节点上执行命令示例如下:

最后更新于