目录
一、环境准备
二、安装Docker
三、配置环境变量
四、所有master节点安装keepalived和haproxy服务
五、部署集群
六、部署k8s的dashboard
本文采用的是etcd、master、HA混合部署方式,当然也可以把etcd cluster独立出来部署也是可以
本文中k8s高可用主要体现在对master节点组件及etcd存储的高可用,文中使用到的服务器ip及角色对应如下:
CentOS Linux release 7.7.1908 (Core) 3.10.0-1062.el7.x86_64
kubeadm-1.22.3-0.x86_64
kubelet-1.22.3-0.x86_64
kubectl-1.22.3-0.x86_64
kubernetes-cni-0.8.7-0.x86_64
1、各节点下载docker源
讯享网
讯享网
3、重启Docker服务
4、配置各节点hosts文件,实际生产环境中,可以规划好内网dns,每台机器可以做一下主机名解析,就不需要配hosts文件
讯享网
1、关掉各节点防火墙,安装相关软件
2、关闭各节点selinux
讯享网
3、关闭各节点swap分区
4、同步各节点的时间,这个时间服务,如果机器可以直通外网,那就按以下命令执行就行。
如果机器无法通外网,需要做一台时间服务器,然后别的服务器全部从这台时间服务器同步时间。
讯享网
5、各节点内核调整
6、配置各节点k8s的yum源
讯享网
7、各节点开启ipvs模块
讯享网
8、设置 rsyslogd 和 systemd journald
10、系统内核升级到最新
CentOS 7.x 系统自带的 3.10.x 内核存在一些 Bugs,导致运行的 Docker、Kubernetes 不稳定
讯享网
#升级内核
# 设置开机从新内核启动,这地方要注意一下,看你当时最新的版本是多少,括号里就填多少
讯享网
9、重启服务器(reboot)
1、各master节点安装服务
2、修改k8s-master01配置文件
第一台master为master,后面两台master为backup
讯享网
3、修改k8s-master02配置文件
把这个/etc/keepalived/keepalived.conf配置文件scp 到k8s-master02和k8s-master03,只需要修改
state MASTER # MASTER
priority 100 # 权重100
4、修改k8s-master03配置文件
讯享网
5、配置三台haproxy.cfg配置文件,三台g配置文件完全一样‘
6、配置keepalived的haproxy检测脚本,三台master都是一样
讯享网
7、给检测脚本添加执行权限
8、启动haproxy和keepalived服务
讯享网
9、查看vip地址
这边配的是k8s-master01是master,所以只能在这台机器上看
# 安装的kubeadm、kubectl和kubelet要和kubernetes版本一致,kubelet加入开机启动之后不手动启动,要不然会报错,初始化集群之后集群会自动启动kubelet服务!!!
1、安装k8s软件包,每个节点都需要安装这些软件

讯享网
2、获取默认配置文件,登录到k8s-master01机器
3、修改配置文件
讯享网
4、下载相关镜像文件
5、初始化集群
讯享网
6、在其它两个master节点要创建etcd目录
7、把主master节点证书分别复制到其他2个master节点
讯享网
8、另外两个master节点加入集群
9、两个node节点加入集群
讯享网
如果随着集群的运行,以后有需要扩容的,扩容node节点的方法
10、所有master节点执行以下命令,node节点随意
#root用户
讯享网
#非root用户
11、在k8s-master01上查看所有节点状态
讯享网
12、安装网络插件,在k8s-master01机器上执行
#如果没有翻墙有可能下不来
讯享网
13、再查看节点状态
#一定是所有的状态为Running才是正常的,如果有以下状态 ,就要去看一下日志(tail -f /var/log/message),分析一下问题,一般的问题 是ipvs环境变量不对等等
讯享网
14、下载etcdctl客户端工具,并安装,在k8s-master01上安装就行
15、验证etcdctl是否能用,只要能输出以下这些日志,说明是没有问题的
讯享网
16、查看etcd集群的各种状态
#查看etcd集群健康状态
讯享网
#查看etcd集群可用列表
讯享网
#查看etcd集群leader状态
讯享网
注:我这边k8s的api版本已经是1.22.3版本了,所有dashboard必需升级到v2.3以上,不能再用v.2.0版本
1、下载recommended.yaml文件,如果没有翻墙,估计下不来
#这边我就把下载的文件直接贴出来,以下有两个地方做了修改,就是增加了NodePort模式和端口,看注释就行。
讯享网
#安装
2、 查看安装结果
讯享网
3、 查看dashboard服务
4、 创建dashoard管理员
讯享网
#部署
5、 为管理员分配权限
讯享网
#部署
6、 查看管理员Token
讯享网
7、 打开浏览器,输入:http://192.168.30.115:30000
#选择Token,输入前面查到的Token


到此高可用的k8s服务已经部署完成,测试了一下把k8s-master01关掉,服务一直可用,只有dashboard页面会闪断。
#如果运行一段时间,我们想再加一个新node,方法是:
1、先在主节点上执行
2、然后在要新加的node节点执行
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/203958.html