安装rancher高可用后,如何切换rancher server数据库

Rancher Server 设置

  • Rancher 版本:2.6.6
  • 安装选项 (Docker install/Helm Chart):
    • 如果是 Helm Chart 安装,需要提供 Local 集群的类型(RKE1, RKE2, k3s, EKS, 等)和版本: k3s
  • 在线或离线部署:在线版本

下游集群信息

  • Kubernetes 版本:
  • Cluster Type (Local/Downstream):
    • 如果 Downstream,是什么类型的集群?(自定义/导入或为托管 等): 自定义

**主机操作系统:centos7

**问题描述:我用两台服务器搭建了rancher server,用外部mysql连接rancher server,现在我想切换一下这个mysql的地址该怎么切换,我记得部署 安装时K3s是需要把数据库地址写入命令中执行的
部分命令:INSTALL_K3S_VERSION=v1.20.15+k3s1 sh -s - server --token=SECRET --datastore-endpoint=“mysql://root:xxxxx@tcp(xxx.xxx.xxx.xxx)/k3s”

**当前环境:线上,不知道如何操作

其他上下文信息:

日志


我没试过,但可以给你提供个思路:

  1. 现将原来数据库的mysql 数据备份、并回复到新的 mysql 集群中。
  2. 重新执行当时 K3s 的安装命令,将 mysql://root:xxxxx@tcp(xxx.xxx.xxx.xxx 修改为新的 数据库的信息,从新执行就行。

如果不想从新执行 K3s 的安装脚本,可以在 systemd 中修改配置文件应该也行,k3s systemd 配置文件的目录是:/etc/systemd/system/k3s.service,修改后,记得重新 K3s master

在同一个ip环境下,我切换了数据库,在过程中没有在rancher ui做任何操作,直接就访问失败,我该如何看master的日志呢?切换后k3s kubectl get nodes都属于正常,但就是网页无法访问,日志不知在哪看

kubectl -n cattle-system logs -f -l app=rancher





我用了两个master,切换数据库,用命令kubectl -n cattle-system logs -f -l app=rancher,显示报错


这应该是一个完整的日志

主机的网络、防火墙有调整么?K3s 的版本有升级啥的么?

没动过,操作就是改动配置文件

- 修改连接数据库(改master节点配置,再进行重启k3s.需要保证切换数据库的数据与原始库一致,不可为空库或不存在的库)
- cat /etc/systemd/system/k3s.service
- systemctl daemon-reload && systemctl restart k3s
两个master执行相同的操作,现在切换完数据库后,ui网页访问好像没有问题,不过需要等很久才能访问,但是还是会在后台日志报错上面的信息

因为我验证后续需要在生产进行更改,所以再次执行 K3s 的安装命令应该风险很大,只有考虑改配置文件

编辑/etc/systemd/system/k3s.service.env 可以修改token和数据库连接

记得重启k3s服务即可