IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 运维实操——kubernetes(二十)k8s高可用集群haproxy+k8s -> 正文阅读

[系统运维]运维实操——kubernetes(二十)k8s高可用集群haproxy+k8s

1、高可用集群简述

在前面k8s学习中,我们只使用一个master节点进行调度,当此节点dowm掉后k8s将无法进行后续的部署管理工作。本项目将通过haproxy配置三台 master主机实现负载均衡,通过k8s三台master主机实现k8s集群高可用。
流程图如下
在这里插入图片描述
准备五台虚拟机,分工如下

  • server1(172.25.11.1)是harbor仓库,分1G内存
  • server5(172.25.11.5)server6(172.25.11.6)server7(172.25.11.7)是集群的master端,各分2G内存
  • server5(172.25.11.5)还是haproxy负载均衡
  • server8(172.25.11.8)是集群的worker端,分1G内存
  • 宿主机(172.25.11.250)网页测试

因为电脑只有8G内存,按照上面的分发已满8G ,宿主机一点没有了,会卡死。所以我们先起仓库和三个master,成功启动后,把server6和server7的内存降为1G,再创建server8进行测试

2、haproxy负载均衡部署

首先给server5添加虚拟ip172.25.11.100,用来haproxy使用,因为server5即有haproxy也有集群master,这样可以隔离。查看,ping测试可以成功连通
在这里插入图片描述
server5配置了yum源,
在这里插入图片描述

server5安装haproxy
在这里插入图片描述
进入haproxy的配置文件
在这里插入图片描述

首先添加一个监测haproxy状态的模块,使用80端口。因为server5有haproxy也是k8s集群的master,所以端口要区分,这里haproxy用8443端口,模式为tcp。
真正的后端是server5、server6、server7,rr论叫负载均衡,三个集群的master使用6443端口,模式为tcp。
在这里插入图片描述
重启haproxy,查看端口,80端口监测haproxy状态,8443端口为haproxy传输端口
在这里插入图片描述
现在网页访问虚拟ip172.25.11.100/status或者server5的ip172.25.11.5/status都可以查看haproxy的状态
在这里插入图片描述

3、docker部署

因为有三个集群的master,所以下面的所有操作,三个master都需要做。
提前在真机准备好docker-ce的安装包,放到了apche发布目录。只需在server5上编写yum文件,安装docker-ce
在这里插入图片描述
server6同样安装docker-ce
在这里插入图片描述
server7同样安装docker-ce
在这里插入图片描述
server5设置开机自启dcoker,进入docker目录,编写json文件,指定仓库地址,并修改cgroup的方式为systemed
在这里插入图片描述
server5发送json文件给server6,server6设置开机自启dcoker
在这里插入图片描述
server5发送json文件给server7,server7设置开机自启dcoker
在这里插入图片描述
server5设定桥接模式而不用NAT,重新加载内核参数
在这里插入图片描述
server6设定桥接模式而不用NAT,重新加载内核参数
在这里插入图片描述
server7设定桥接模式而不用NAT,重新加载内核参数
在这里插入图片描述
server5重启docker,查看信息,cgroup改为了systemd,并且没有警告出现
在这里插入图片描述
server6重启docker,查看信息,cgroup改为了systemd,并且没有警告出现
在这里插入图片描述
server7重启docker,查看信息,cgroup改为了systemd,并且没有警告出现
在这里插入图片描述
给三个master发以前产生的证书文件
在这里插入图片描述
并且三个master都要设置地址解析/etc/hosts,尤其要添加仓库的地址解析
在这里插入图片描述
测试docker是否安装成功,拉取镜像,成功
在这里插入图片描述

4、k8s集群部署

在部署了docker的基础上,还需要部署管理集群的工具,kubernetes
部署k8s时,三个master需要有2个CPU,2G内存
server5关闭swap分区
在这里插入图片描述
server6关闭swap分区
在这里插入图片描述
server7关闭swap分区
在这里插入图片描述
提前准备了k8s的安装包,发给server5、server6、server7
在这里插入图片描述
server5安装k8s(kubeadm,kubelet,kubectl)
在这里插入图片描述
server6安装k8s(kubeadm,kubelet,kubectl)
在这里插入图片描述
server7安装k8s(kubeadm,kubelet,kubectl)
在这里插入图片描述
server5开启kubelet并设置开机自启
在这里插入图片描述
server6开启kubelet并设置开机自启
在这里插入图片描述
server7开启kubelet并设置开机自启
在这里插入图片描述
server5打开IPVS模块
在这里插入图片描述
server6打开IPVS模块
在这里插入图片描述
server7打开IPVS模块
在这里插入图片描述
server5输出kubeadm初始化文件,修改kubeadm-init.yaml文件
在这里插入图片描述
设定本机ip和名称,设定集群调用的api端口为6443。设定访问集群的虚拟ip为172.25.11.100:8443,和前面的haproxy处一致
在这里插入图片描述
添加仓库地址,指定k8s版本为1.21.3,pod的网段为10.244,svc的网段为10.96,kube_proxy使用IPVS模式。
在这里插入图片描述
server5提前拉取所需镜像
在这里插入图片描述
server5初始化k8s集群
在这里插入图片描述
初始化成功会显示申明命令、加入master的命令和加入worker的命令,保存下来
在这里插入图片描述
根据提示信息,申明查看节点现在只有server5,查看pod,发现有两个没有ready,这是因为没有安装网络插件
在这里插入图片描述
由于没有补齐,操作不舒服,先输入补齐命令,重新加载~/.bashrc,现在有补齐了
在这里插入图片描述
给server5发送安装flannel网络组件的文件
在这里插入图片描述
编辑kube-flannel.yaml文件,修改网络类型为host-gw直连网关
在这里插入图片描述
应用kube-flannel.yaml文件,再次查看pod全部正常启动了
在这里插入图片描述
查看节点,server5准备就绪了
在这里插入图片描述

server6使用之前初始化提示的命令,以master身份加入集群
在这里插入图片描述
server7也使用之前初始化提示的命令,以master身份加入集群
在这里插入图片描述
server5查看节点,成功加入,且就绪了
在这里插入图片描述

现在网页查看haproxy的三个节点,成功开启
在这里插入图片描述

5、k8s集群添加worker节点

由于内存限制,把server6和server7的内存调整为1G,开启新的虚拟机server8,给server8执行前面的操作。
把docker的yum文件发给server8,把k8s的安装包给server8
在这里插入图片描述
server8安装docker-ce
在这里插入图片描述
开启docker,发给server8证书文件和json文件
在这里插入图片描述
同样server8需要地址解析
在这里插入图片描述
发送内核参数文件给server8
在这里插入图片描述
server8重新读取内核参数
在这里插入图片描述
重启docker,查看信息,cgroup改为systemd,且没有警告
在这里插入图片描述
安装k8s包
在这里插入图片描述
开机自启docker,关闭swap分区,开机自启kubelet,使用初始化产生的命令,以worker节点的身份加入集群
在这里插入图片描述
在server5处,查看节点,已成功加入集群
在这里插入图片描述

在master端创建一个pod,成功
在这里插入图片描述

查看到该pod实际在server8上,访问测试成功
在这里插入图片描述

6、高可用测试

运行一个pod节点于当前master主机,当此master主机down掉后,节点仍然可在其他master主机上查看状况并进行操作管理。现在我们应该关闭其中一个master端,测试其他master能否正常接管,由于我这里server5有haproxy也是master,关掉他,看不到效果了,所以测试关掉server6。

注意三个master k8s主机只容忍最多一个down掉,其余两个保持高可用。

现在关闭server6这个master,测试pod是否能够正常运行,测试其他master端能否正常管理
在这里插入图片描述

pod正常运行
在这里插入图片描述

网页haproxy可以看到server6关闭了
在这里插入图片描述
也可以使用命令行查看server6关闭了
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:35:59  更:2021-08-09 10:37:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 19:50:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码