K8s脱坑前的挣扎——k8s群集部署--多节点及高可用(nginx负载均衡+keepalived双机热备)

前言:本次部署将在单节点之上增加一个master以及配置负载均衡和双机热备实现高可用,部署细节可参考前面三张单节点部署系列单节点部署1-Etcd单节点部署2-Flannel单节点部署3-Master及Node

一、环境部署

1.节点分配

服务器名称 IP地址 分配
master01 192.168.170.128/24 etcd,apiserver,controller-manager,scheduler
master02 192.168.170.129/24 etcd证书,apiserver,controller-manager,scheduler
node1 192.168.170.145/24 etcd+flannel
node2 192.168.170.136/24 etcd+flannel
lb1 192.168.170.134/24 nginx+keepalived
lb2 192.168.170.131/24 nginx+keepalived

2.拓扑图

  • 多节点拓扑图
    在这里插入图片描述
  • 在生产环境当中,大多是采用的多master的群集部署,所以需要建立vip,再加入node节点后只要找vip就行,它会自动会请求某一台固定的master,master里的apiserver会给新添加的节点颁发证书,让节点加入到群集中
  • 所有node地址全部指向vip,由vip地址作为调度器去调配给下面的某一台master去管理、调度节点

二、部署

1.master02部署

  • 在单节点部署完成后,添加一台master服务器就简单了

1)环境优化

  • 关闭防火墙,增强型安全功能,清空防火墙
[root@promote ~]# hostnamectl set-hostname master02
[root@promote ~]# su
[root@master02 ~]# systemctl stop NetworkManager
[root@master02 ~]# systemctl disable NetworkManager
[root@master02 ~]# iptables -F
[root@master02 ~]# systemctl stop firewalld.service 
[root@master02 ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@master02 ~]# setenforce 0
[root@master02 ~]# vim /etc/selinux/config 
SELINUX=disabled

2)部署

  • 直接在master01上将k8s工作目录以及启动脚本直接复制过来
[root@master01 ~]# scp -r /opt/kubernetes/ root@192.168.170.129:/opt
root@192.168.170.129's password: 
token.csv                                                                   100%   84    16.6KB/s   00:00    
kube-apiserver                                                              100%  939   703.7KB/s   00:00    
kube-scheduler                                                              100%   94   106.8KB/s   00:00    
kube-controller-manager                                                     100%  483   579.3KB/s   00:00    
kubectl                                                                     100%   55MB  94.6MB/s   00:00    
kube-controller-manager                                                     100%  155MB  88.3MB/s   00:01    
kube-scheduler                                                              100%   55MB  89.5MB/s   00:00    
kube-apiserver                                                              100%  184MB  94.8MB/s   00:01    
ca-key.pem                                                                  100% 1675     1.7MB/s   00:00    
ca.pem                                                                      100% 1359     2.0MB/s   00:00    
server-key.pem                                                              100% 1679     1.4MB/s   00:00    
server.pem                                                                  100% 1643     1.2MB/s   00:00    
[root@master02 ~]# cd /opt/kubernetes/
[root@master02 kubernetes]# ls
bin  cfg  ssl
[root@master02 kubernetes]# ls bin/
kube-apiserver  kube-controller-manager  kubectl  kube-scheduler
[root@master02 kubernetes]# ls cfg/
kube-apiserver  kube-controller-manager  kube-scheduler  token.csv
[root@master02 kubernetes]# ls ssl/
ca-key.pem  ca.pem  server-key.pem  server.pem
//复制master中的三个组件启动脚本
[root@master01 ~]# scp -r /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service r
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值