第二章-SUSE- Rancher-容器高可用与容灾测试-RKE2-集群搭建(使用Mysql)

系列文章目录


第一章-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(容灾卷跨集群测试)


目录

系列文章目录

前言

一、云主机

1.1 创建RKE2集群的云主机

二、搭建RKE2-Server节点-Tarball离线方法

2.1 RKE2节点启动的过程

2.1.1 内容引导

2.1.2 初始化 Server

2.1.3 启动集群

2.1.3 ETCD

2.2 Tarball方法安装步骤

2.2.1 下载RKE2-image文件

2.2.2 进入RKE2项目-Releases​​​​​​​​​​​​​​

2.2.3 我们计划部署测试的Rancher Manager v2.9.5,故我们需要查阅兼容性

2.2.3.1 首先是RKE2与OS的兼容性。

2.2.3.2 然后是RKE2与Rancher的兼容性。

2.3 使用外网节点下载必要的安装镜像

2.4 下载安装脚本

2.5 在RKE2的server节点上创建存放镜像目录:

2.5 放入文件与下载的镜像。 

2.6 rke2配置/etc/rancher/rke2/config.yaml

2.7 RKE2 运行脚本文件安装

2.8 检查日志

2.9 访问集群

2.9.1 环境变量搞起来。

2.9.2 同时我们也测试一下Mysql的访问与k8s联动。

2.10 加入worker节点。

2.10.1 我们部署好了server节点后,先检查健康状态。

2.10.2 健康状态ok后,我们将安装的部署包放入到worker节点上进行安装。

2.10.3 worker节点配置文件。

2.10.4 信任server节点的CA证书

总结


前言

第一章我们搭建好了Mysql(主备复制)实例。

本章我们计划搭建好Rancher管理集群的基础设施- RKE2集群-Tarball方法-离线。


一、云主机

1.1 创建RKE2集群的云主机

*测试环境2C-4G即可,正式环境根据负载进行扩容 

二、搭建RKE2-Server节点-Tarball离线方法

2.1 RKE2节点启动的过程

这里先概述一下RKE2节点启动的过程,会更加帮助你完成整个安装工作。

下一代 Kubernetes 发行版剖析 | RKE2架构概述https://docs.rke2.io/zh/architecturehttps://docs.rke2.io/zh/architecturehttps://docs.rke2.io/zh/architecturehttps://docs.rke2.io/zh/architecturehttps://docs.rke2.io/zh/architecturehttps://docs.rke2.io/zh/architecturehttps://docs.rke2.io/zh/architecturehttps://docs.rke2.io/zh/architecture

进程分为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方法:

2.2.2 进入RKE2项目-Releases​​​​​​​​​​​​​​

Releases · rancher/rke2 · GitHubContribute to rancher/rke2 development by creating an account on GitHub.https://gi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A ?Charis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值