暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Rancher2.5.0+备份、恢复、升级和维护

龙湖外环31号 2021-09-10
2221

概述

上篇我们介绍了Rancher高可用集群的离线部署,包括使用RKE创建的kubernetes集群,以及运行在集群中的rancher服务。

为了管理好这套系统,我们要定期对这套系统,备份、升级和维护,其中kubernetes集群中的数据保存在etcd当中,需要使用RKE对etcd的数据进行备份;kubernetes集群版本需要选择当前rancher支持的版本,同样使用RKE升级;rancher的数据使用rancher-backup应用保存,升级直接使用helm,下文会对这些内容分开介绍。

本次测试环境与上篇一致:

共4台linux机器(MachineA、MachineB、MachineC、MachineD),一台用于nginx负载均衡和集群安装(<  Nginx_Node_IP  >下文简称MachineA);三台用于k8s节点安装(<  K8S_Node1_IP  >、<  K8S_Node2_IP  >、<  K8S_Node3_IP  >下文简称MachineB、MachineC、MachineD)

1. kubernetes备份与恢复

1.1 自动备份

使用RKE创建的kubernetes集群,默认开启etcd的自动备份 ,每6小时1次。我们可以使用这些快照恢复集群。RKE 将快照保存MachineB、MachineC、MachineD的/opt/rke/etcd-snapshots
路径下。

1.2 手动备份

在MachineA运行./rke etcd snapshot-save --config rancher-cluster.yaml --name sanpshot-xxxx
命令,运行后即可保存 cluster config 文件内每个 etcd 节点的快照。RKE 会将节点快照保存在MachineB、MachineC、MachineD的/opt/rke/etcd-snapshots
路径下。

运行上述命令时,RKE 会创建一个用于备份快照的容器。完成备份后,RKE 会删除该容器。

1.3 恢复集群

在MachineA运行./rke etcd snapshot-restore --config rancher-cluster.yaml --name sanpshot-xxxx
命令。

等待集群数据的恢复,注意恢复过程中会重建当前集群中所有工作负载,对于应用中没有持久化的数据可能会丢失,需要谨慎。

集群恢复后,需要等待rancher服务重新启动后,才能够正常使用。

2. Rancher备份与恢复

2.1 安装 rancher-backup operator

rancher-backup
operator 可以从 Rancher UI 安装,也可以用 Helm CLI 安装。在这两种情况下,rancher-backup
Helm chart 安装在运行 Rancher server 的 Kubernetes 集群上。它是一个集群管理员专用的功能,只对 local 集群可用。

本文介绍从Rancher UI 安装,步骤如下:

  1. 在 Rancher UI 的 Cluster Manager 中,选择名为local的集群。

  2. 在右上角单击 Cluster Explorer

  3. 单击 Apps

  4. 单击 rancher-backup
    operator。

  5. 配置默认的存储位置,rancher的备份可以保存在PV中,我们可以使用NFS创建一个专门用于备份的PV。

    安装成功后,即可备份和还原rancher。

2.2 备份

要执行备份,必须创建 Backup 类型的自定义资源。

  1. Cluster Explorer中,进入左上角的下拉菜单,单击Rancher Backups

  2. 单击 Backup

  3. 使用表单或 YAML 编辑器创建 Backup。

  4. 要使用该表单配置 Backup 详细信息,请单击创建,可以选择定时调度、加密和存储位置,这里我们选择备份到安装rancher-backup
    时默认配置的PV上。

2.3 还原

  1. Cluster Explorer中,进入左上角的下拉菜单,单击Rancher Backups

  2. 单击 Restore

  3. 使用表单或 YAML 创建 Restore。


3. Rancher升级

3.1 获取最新版镜像并推送到内网仓库

Release 文件描述
rancher-images.txt
此文件包含安装 Rancher、创建集群和运行 Rancher 工具所需的镜像列表。
rancher-save-images.sh
这个脚本会从 DockerHub 中拉取在文件rancher-images.txt
中描述的所有镜像,并将它们保存为文件rancher-images.tar.gz
rancher-load-images.sh
这个脚本会载入文件rancher-images.tar.gz
中的镜像,并将它们推送到您自己的私有镜像库。

详细操作见上篇


3.2 获取最新的 Rancher Helm Chart

从可以访问 Internet 的系统linux中,获取最新的 Rancher Helm Chart,如内网安装,则可以直接使用Chart文件,不需要重新fetch。

helm repo add rancher-stable https://releases.rancher.com/server-charts/stable

helm fetch rancher-stable/rancher

您会看到最新稳定版(rancher-2.5.8.tgz )文件下载到本地。

3.3 渲染模板

在MachineA运行

3.4 升级

在MachineA运行

安装过程中可以执行以下命令查看安装进度:

4. kubernetes升级

4.1 获取最新版本RKE

http://mirror.rancher.cn/下载所需要的RKE版本,并替换旧版RKE文件。

4.2 文件准备

在MachineA上

  1. 保证工作目录中有管理Kubernetes 集群状态所需的文件cluster.rkestate
    这个文件和rancher-cluster.yml
    位于同一目录下。(cluster.rkestate
    文件非常重要,控制集群和升级集群的时候都需要用到这个文件,请妥善保管该文件。)

  2. 使用./rke config --list-version -all
    查看当前版本支持的kubernetes版本

  3. rancher-cluster.yml
    添加kubernetes_version: "v1.20.6-rancher1-1"
    (填写步骤二获得的版本)

4.3 升级

5.平台维护

rancher集群提供了基于Prometheus和Grafana的监控operator和基于Fluentbit的日志operator,开箱即用非常方便。

本节主要是介绍Rancher出现故障时,各组件的排查方法。

5.1 etcd

5.2 Controlplane

5.3 NGINX 代理

5.4  Worker 节点和其他组件


上篇:Rancher2.5.5离线高可用安装示例

文章转载自龙湖外环31号,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论