【kubernetes】多 Master 高可用集群架构部署

目录

一、环境部署

二、master02 节点部署

1、拷贝相关文件

2、修改配置文件

3、启动各服务并设置开机自启

4、 查看node节点状态

三、负载均衡部署

1、部署 nginx 服务

1.1、编译安装 nginx

1.2、修改 nginx配置文件

2、部署 keepalived 服务

2.1、yum安装 keepalived 服务

2.2、修改keepalived配置文件

2.3、创建nginx状态检查脚本

2.4、直接拷贝配置文件和脚本到ngkeep02节点

2.5、启动keepalived服务

2.6、修改node节点上的配置文件中的server为VIP地址

3、在 ngkeep01 上查看节点的连接状态

4、测试

四、部署 Dashboard

1、什么是 Dashboard

2、安装 Dashboard

3、使用输出的token登录Dashboard


一、环境部署

服务器类型 主机名 IP地址 主要软件
k8s集群 master01 节点(etcd集群节点1) master01 172.16.88.77 kube-apiserver、kube-controller-manager、kube-scheduler、etcd
k8s集群 master02 节点 master02 172.16.88.66 kube-apiserver、kube-controller-manager、kube-scheduler、etcd
k8s集群 node01 节点
(etcd集群节点2)
node01 172.16.88.88 kubelet、kube-proxy、docker、etcd
k8s集群 node02 节点
(etcd集群节点3)
node02 172.16.88.99 kubelet、kube-proxy、docker、etcd
负载均衡 nginx+keepalive01(master) ngkeep01 172.16.88.11 nginx、keepalive
负载均衡 nginx+keepalive02(backup) ngkeep02 172.16.88.22 nginx、keepalive
虚拟 VIP 地址 - 172.16.88.100

(1)所有设备关闭防火墙,清空iptables规则

systemctl disable --now firewalld
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

(2)所有设备关闭selinux

setenforce 0    #临时关闭
sed -i 's/enforcing/disabled/' /etc/selinux/config   #永久关闭

(3)所有设备关闭swap

swapoff -a    #临时关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab    #永久关闭

(4)修改所有设备的主机名

[root@localhost ~]#hostnamectl set-hostname master01
[root@localhost ~]#bash
 
[root@localhost ~]#hostnamectl set-hostname master02
[root@localhost ~]#bash
 
[root@localhost ~]#hostnamectl set-hostname node01
[root@localhost ~]#bash
 
[root@localhost ~]#hostnamectl set-hostname node02
[root@localhost ~]#bash
 
[root@localhost ~]#hostnamectl set-hostname ngkeep01
[root@localhost ~]#bash
 
[root@localhost ~]#hostnamectl set-hostname ngkeep02
[root@localhost ~]#bash

(5) 所有设备修改本地的hosts文件

cat >> /etc/hosts << EOF
172.16.88.77 master01
172.16.88.66 master02
172.16.88.88 node01
172.16.88.99 node02
172.16.88.11 ngkeep01
172.16.88.33 ngkeep02
EOF

(7)所有设备调整内核参数

cat > /etc/sysctl.d/k8s.conf << EOF
#开启网桥模式,可将网桥的流量传递给iptables链
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
#关闭ipv6协议
net.ipv6.conf.all.disable_ipv6=1
net.ipv4.ip_forward=1
EOF

(8)所有设备实现时间同步

yum install ntpdate -y
ntpdate time.windows.com

 

二、master02 节点部署

1、拷贝相关文件

从 master01 节点上拷贝证书文件、各master组件的配置文件和服务管理文件到 master02 节点

[root@master01 ~]#scp -r /opt/etcd/ root@172.16.88.66:/opt/
[root@master01 ~]#scp -r /opt/kubernetes/ root@172.16.88.66:/opt
[root@master01 ~]#scp -r /root/.kube root@172.16.88.66:/root
[root@master01 ~]#scp /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service root@172.16.88.66:/usr/lib/systemd/system/

2、修改配置文件

修改配置文件 kube-apiserver 中的IP

[root@master02 ~]#vim /opt/kubernetes/cfg/kube-apiserver
KUBE_APISERVER_OPTS="--logtostderr=true \
--v=4 \
--etcd-servers=https://172.16.88.77:2379,https://172.16.88.88:2379,https://172.16.88.99:2379 \
--bind-address=172.16.88.66 \                 #修改成master02本机的apiserver的ip地址
--secure-port=6443 \
--advertise-address=172.16.88.66 \            #修改成master02本机的apiserver的ip地址
......

3、启动各服务并设置开机自启

在 master02 节点上启动各服务并设置开机自启

[root@master02 ~]#systemctl start kube-apiserver.service
[root@master02 ~]#systemctl enable kube-apiserver.service
[root@master02 ~]#systemctl start kube-controller-manager.service
[root@master02 ~]#systemctl enable kube-controller-manager.service
[root@master02 ~]#systemctl start kube-scheduler.s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值