系列文章目录
第一章-SUSE- Rancher-容器高可用与容灾测试-RKE2-外置数据库(Mysql主备集群搭建)
第二章-SUSE- Rancher-容器高可用与容灾测试-RKE2-集群搭建(使用Mysql)
第三章-SUSE- Rancher-容器高可用与容灾测试-Rancher-(离线helm部署)
第四章-SUSE- Rancher-容器高可用与容灾测试-RKE2-数据库(Mysql主备倒换容灾)
第五章-SUSE- Rancher-容器高可用与容灾测试-Rancher-(使用Rancher-backup-异地还原测试)
第六章-SUSE- Rancher-容器高可用与容灾测试-RKE2-数据库(Mysql-异地备份还原方式容灾)
第七章-SUSE- Rancher-容器高可用与容灾测试-Rancher-拉起的集群(快照容灾测试)
第八章-SUSE- Rancher-容器高可用与容灾测试-Longhorn(容灾卷跨集群测试)
目录
2.2.2 进入RKE2项目-Releases
2.2.3 我们计划部署测试的Rancher Manager v2.9.5,故我们需要查阅兼容性
2.6 rke2配置/etc/rancher/rke2/config.yaml
2.9.2 同时我们也测试一下Mysql的访问与k8s联动。
2.10.1 我们部署好了server节点后,先检查健康状态。
2.10.2 健康状态ok后,我们将安装的部署包放入到worker节点上进行安装。
前言
第一章我们搭建好了Mysql(主备复制)实例。
本章我们计划搭建好Rancher管理集群的基础设施- RKE2集群-Tarball方法-离线。
一、云主机
1.1 创建RKE2集群的云主机
*测试环境2C-4G即可,正式环境根据负载进行扩容
二、搭建RKE2-Server节点-Tarball离线方法
2.1 RKE2节点启动的过程
这里先概述一下RKE2节点启动的过程,会更加帮助你完成整个安装工作。
进程分为Server节点启动和普通的Agent节点(worker)节点启动
2.1.1 内容引导
1、所有的节点最开始引导时:
1、
/var/lib/rancher/rke2/agent/images/*.tar
获取 rancher/rke2-runtime 镜像。2、将镜像中的文件复制到/var/lib/rancher/rke2/data/目录下给节点使用。
3、本地没有则默认去docker.io拉取rke2-runtime镜像。
2.1.2 初始化 Server
在嵌入式 K3s 引擎中,server 是专门的 agent 进程,换言之,它会在节点容器运行时启动后再启动。(注意这里就启动runtime了),包括上面的内容引导拉取镜像也是runtime做的。
1、Server节点与普通worker节点最大的不同就是多了3个控制面的组件。
kube-apiserver kube-controller-manager kube-scheduler
2、上面的控制面组件都是静态pod.
3、文件位置在/var/lib/rancher/rke2/agent/pod-manifests/
初始化Server节点只是在/var/lib/rancher/rke2/agent/pod-manifests/下写pod的静态pod文件而不是启动。
Server节点:
worker节点:
2.1.3 启动集群
在 goroutine 中启动 HTTP 服务器来侦听其他集群 server/agent,然后初始化/加入集群。
默认端口为9345.2.1.3 ETCD
初始化Server节点只是在/var/lib/rancher/rke2/agent/pod-manifests/下写pod的静态pod文件而不是启动。etcd也是写文件不启动。
以上都是启动Server 节点会做的事情。
同时无论是server节点还是agent(worker)节点都会做下面的事情。
1、Server和agent节点启动进程都会最先启动runtime,然后使用runtime扫描镜像,没有就拉取。
2、
kubelet
生成并监督
kubelet
进程。如果kubelet
退出,那么rke2
将尝试重启它。kubelet
运行后,它将启动任何可用的静态 pod。对于 server,这意味着etcd
和kube-apiserver
将依次启动,允许其余组件通过静态 pod 启动,从而连接到kube-apiserver
并开始处理。
**这里Server和agent才开始启动静态pod.
没有单独的kubelet进程和rke2对应的进程放在一起运行的。
3、使用
helm-controller
kube-apiserver
准备就绪后,启动 goroutine 来启动嵌入式helm-controller
。helm-controller可以使用helm-crd像编辑yaml的方式来管理k8s中的chart应用。
2.2 Tarball方法安装步骤
2.2.1 下载RKE2-image文件
本次测试使用离线安装RKE2集群,模拟真实客户现场。
RKE2提供2种方式:
1、一种是Tarball 方法
2、一种是私有仓库-本次不涉及
本次测试Tarball方法: