第七章-SUSE- Rancher-容器高可用与容灾测试-Rancher拉起的集群(容灾测试)

系列文章目录

第一章-SUSE- Rancher-容器高可用与容灾测试-RKE2-外置数据库(Mysql主备集群搭建)

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

第三章-SUSE- Rancher-容器高可用与容灾测试-Rancher-(离线helm部署)

第四章-SUSE- Rancher-容器高可用与容灾测试-RKE2-数据库(Mysql主备倒换容灾)

第五章-SUSE- Rancher-容器高可用与容灾测试-Rancher-(使用Rancher-backup-异地还原测试)

第六章-SUSE- Rancher-容器高可用与容灾测试-RKE2-数据库(Mysql-异地备份还原方式容灾)

第七章-SUSE- Rancher-容器高可用与容灾测试-Rancher-拉起的集群(快照容灾测试)

第八章-SUSE- Rancher-容器高可用与容灾测试-Longhorn(容灾卷跨集群测试)


目录

系列文章目录

前言

一、Rancher纳管rke2集群01

[1.1 纳管外部集群](#1.1 纳管外部集群)

[1.2 加入集群](#1.2 加入集群)

[1.3 处理pod的DNS问题](#1.3 处理pod的DNS问题)

[1.4 验证添加](#1.4 验证添加)

二、rke2集群01部署longhorn

[2.1 通过App-Charts](#2.1 通过App-Charts)

[2.2 检查系统要求](#2.2 检查系统要求)

[2.3 满足系统要求](#2.3 满足系统要求)

[2.3.1 Runtime](#2.3.1 Runtime)

[2.3.2 K8s](#2.3.2 K8s)

[2.3.3 Linux-cli](#2.3.3 Linux-cli)

[2.4 配置longhorn](#2.4 配置longhorn)

[2.4.1 使用默认配置即可](#2.4.1 使用默认配置即可)

​编辑

[2.4.2 等待安装](#2.4.2 等待安装)

[2.4.3 验证安装](#2.4.3 验证安装)

二、创建新rke2集群02

[2.1 创建主机](#2.1 创建主机)

[2.2 通过Rancher部署rke2](#2.2 通过Rancher部署rke2)

[2.3 修改仓库配置文件](#2.3 修改仓库配置文件)

[2.4 主机安装](#2.4 主机安装)

[2.5 监控安装过程](#2.5 监控安装过程)

[2.6 验证拉起](#2.6 验证拉起)

三、部署longhorn

[3.1 安装需要的CLI命令](#3.1 安装需要的CLI命令)

[3.2 安装](#3.2 安装)

[3.3 验证](#3.3 验证)

四、打快照

[4.1 启动快照](#4.1 启动快照)

[4.2 监控](#4.2 监控)

[4.3 快照验证](#4.3 快照验证)

[4.3.1 快照位置](#4.3.1 快照位置)

五、部署测试pod

[5.1 添加仓库](#5.1 添加仓库)

[5.2 安装外部-ZooKeeper(Kafka依赖)-可选](#5.2 安装外部-ZooKeeper(Kafka依赖)-可选)

[5.2.1 验证ZooKeeper](#5.2.1 验证ZooKeeper)

[5.3 安装kafka-内部ZooKeeper](#5.3 安装kafka-内部ZooKeeper)

[5.3.1 关闭kraft模式](#5.3.1 关闭kraft模式)

[5.3.2 验证安装](#5.3.2 验证安装)

[5.3.3 Rancher验证](#5.3.3 Rancher验证)

[5.3.4 再次打快照](#5.3.4 再次打快照)

[5.3.5 检查快照](#5.3.5 检查快照)

六、还原测试

[6.1 还原不包括kafka的快照](#6.1 还原不包括kafka的快照)

[6.1.1 helm记录](#6.1.1 helm记录)

[6.1.2 看看pvc](#6.1.2 看看pvc)

[6.2 还原到最新的有kafka的快照](#6.2 还原到最新的有kafka的快照)

[6.2.1 还原准备](#6.2.1 还原准备)

[6.2.2 监控进程](#6.2.2 监控进程)

[6.2.3 等待还原](#6.2.3 等待还原)

[6.2.4 检查业务](#6.2.4 检查业务)

总结


前言

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

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

第三章我们使用helm离线方式部署好Rancher到RKE2集群中,同时使用Rancher-backup-调度了一次备份任务到阿里云的对象存储。

第四章 我们模拟主数据中心数据库故障,将RKE2进行Mysql数据库主备倒换。

第五章,我们使用Rancher-backup对Rancher进行异地还原。

第六章,我们模拟主数据中心数据库故障,将RKE2的Mysql数据库通过备份还原。

本章,我们做两件事情:

1、Rancher操作第六章我们使用rke2数据库备份还原的集群部署longhorn.(为了给最终章最准备)

2、新建1台云主机,使用Rancher创建rke2集群-ETCD数据库。

1、对其进行部署longhorn,此时打快照。

2、再部署kafka.

3、进行快照还原,测试快照还原。


一、Rancher纳管rke2集群01

1.1 纳管外部集群

1.2 加入集群

**等待Pod-Runing

1.3 处理pod的DNS问题

如果是域名访问且主机的DNS没有解析条目,可以单独修改coredns添加主机。

apiVersion: v1
kind: ConfigMap
metadata:
  name: coredns
  namespace: kube-system
data:
  Corefile: |-
    .:53 {
        errors
        health {
            lameduck 5s
        }
        ready
        kubernetes cluster.local cluster.local in-addr.arpa ip6.arpa {
            pods insecure
            fallthrough in-addr.arpa ip6.arpa
            ttl 30
        }
        hosts {
            172.31.0.32 rancher.demo
            fallthrough
        }
        prometheus 0.0.0.0:9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }

1.4 验证添加

二、rke2集群01部署longhorn

2.1 通过App-Charts

2.2 检查系统要求

2.3 满足系统要求

2.3.1 Runtime

containerd://1.7.23-k3s2

满足v1.3.7+

2.3.2 K8s

v1.30.9+rke2r1

满足v1.21

2.3.3 Linux-cli

*安装
zypper install bash curl findmnt grep awk blkid open-iscsi  
*检查是否安装
zypper se --installed-only bash curl findmnt grep awk blkid open-iscsi

2.4 配置longhorn

2.4.1 使用默认配置即可

2.4.2 等待安装

2.4.3 验证安装

二、创建新rke2集群02

2.1 创建主机

2.2 通过Rancher部署rke2

2.3 修改仓库配置文件

2.4 主机安装

**如果DNS没有就添加host解析。

2.5 监控安装过程

journalctl -u rancher-system-agent.service -f

**出现这个报错不用管,是因为下面的进程正在启动。

journalctl -u rke2-server.service -f

**出现这个不用管,因为Runtime还在拉取镜像,还没到静态的ETCD启动的时候。

2.6 验证拉起

**有个细节,你需要修改coredns的Rancher解析。

三、部署longhorn

3.1 安装需要的CLI命令

*安装
zypper install bash curl findmnt grep awk blkid open-iscsi  
*检查是否安装
zypper se --installed-only bash curl findmnt grep awk blkid open-iscsi

3.2 安装

3.3 验证

四、打快照

4.1 启动快照

4.2 监控

4.3 快照验证

4.3.1 快照位置

/var/lib/rancher/rke2/server/db/snapshots

五、部署测试pod

计划部署kafka进行测试。

5.1 添加仓库

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

国内平替

helm repo add appstore https://charts.grapps.cn

helm repo update App Store

5.2 安装外部-ZooKeeper(Kafka依赖)-可选

Kafka依赖ZooKeeper管理元数据,Bitnami的Kafka Chart默认会自动安装ZooKeeper,但建议显式配置。

helm install zookeeper appstore/zookeeper --set replicaCount=2 --set persistence.storageClass=longhorn --set persistence.size=20Gi  --version 11.4.9 --namespace=kafka --create-namespace

5.2.1 验证ZooKeeper

5.3 安装kafka-内部ZooKeeper

5.3.1 关闭kraft模式

helm install kafka appstore/kafka --set persistence.storageClass=longhorn --set persistence.size=3Gi  --namespace=kafka --set zookeeper.enabled=true --version=23.0.7 --set kraft.enabled=false

5.3.2 验证安装

5.3.3 Rancher验证

5.3.4 再次打快照

5.3.5 检查快照

我们此时有两个快照,一个包括kafka,一个不包括kafka.

**这里多了一个自动备份快照。

12:19 是不包括kafka的快照。

4.34 是包括kafka的快照。

六、还原测试

6.1 还原不包括kafka的快照

only etcd

Kubernetes version and etcd

Cluster Config , Kubernetes version and etcd

  • only etcd: 仅还原etcd数据,不会改变当前集群的Kubernetes版本和其他配置。适用于集群配置保持不变,仅需恢复数据的场景。
  • Kubernetes version and etcd: 同时还原Kubernetes版本和etcd数据,但不覆盖集群的其他配置。适用于需要将Kubernetes版本一起恢复到快照时的场景。
  • Cluster Config, Kubernetes version and etcd: 完整还原集群配置、Kubernetes版本以及etcd数据。适用于需要完整恢复集群所有状态(包括配置、版本和数据)的场景。

**我们的场景属于第一种。

**集群开启还原后,会停止服务,等待etcd还原。

*监控进程
journalctl -u rancher-system-agent.service -f

**等待状态正常即可。

**检查还原状态

**kafka没了。 还原测试成功。

6.1.1 helm记录

**helm记录也没了

6.1.2 看看pvc

kafka创建pvc也没了

6.2 还原到最新的有kafka的快照

6.2.1 还原准备

6.2.2 监控进程

*监控进程
journalctl -u rancher-system-agent.service -f


*监控进程
journalctl -u rke2.server.service -f

**开始停止容器服务。

**开始启动rke2-server进程,恢复etcd进程完毕。

6.2.3 等待还原

6.2.4 检查业务

**kafka还原回来了

**PVC也回来了


总结

1、本章完成了Rancher对下游集群打快照进行还原,只是简单做了一下etcd数据库的还原(元数据)。

2、下一章会针对下游集群升级版本还原以及将kafka中写入业务数据再还原进行测试。

3、同时会使用longhorn的快照卷进行跨集群恢复kafka测试。

相关推荐
A ?Charis21 小时前
记录一次-Rancher通过UI-Create Custom- RKE2的BUG
bug·rancher
A ?Charis1 天前
第六章-SUSE- Rancher-容器高可用与容灾测试-RKE2-数据库(Mysql-异地备份还原方式容灾)
rancher
A ?Charis4 天前
第五章-SUSE- Rancher-容器高可用与容灾测试-Rancher-back up(容灾测试)
rancher
A ?Charis5 天前
第四章-SUSE- Rancher-容器高可用与容灾测试-RKE2(容灾测试)
rancher
郝开5 天前
Windows系统中Docker可视化工具对比分析,Docker Desktop,Portainer,Rancher
docker·容器·rancher·docker desktop·portainer
A ?Charis8 天前
第二章-SUSE- Rancher-容器高可用与容灾测试-RKE2-集群搭建(外置Mysql)-Tarball方法
rancher
A ?Charis8 天前
第三章-SUSE- Rancher-容器高可用与容灾测试-Rancher-外置数据库(复用Mysql)
rancher
AKA小徐1 个月前
Debian12使用RKE2离线部署3master2node三主两从的k8s集群详细教程
kubernetes·rancher·rke2
long_songs2 个月前
kubectl rancher等重启之后服务起不来一分钟解决(另类方案)did you specify the right host or port?
linux·运维·服务器·kubernetes·kubectl·rancher·kubelet