备份和恢复
备份和恢复 Red Hat Advanced Cluster Security for Kubernetes
摘要
第 1 章 备份 Red Hat Advanced Cluster Security for Kubernetes
您可以为 Red Hat Advanced Cluster Security for Kubernetes 执行数据备份。在出现基础架构灾难或出现被损坏的数据时,您可以使用这些备份进行数据恢复。
您可以通过与 Amazon S3 或 Google Cloud Storage 集成来配置自动或按需备份。或者,您可以使用 roxctl 命令行界面(CLI) 执行按需备份。
备份包括整个 Red Hat Advanced Cluster Security for Kubernetes 数据库,其中包括所有配置、资源、事件和证书。确保备份安全存储。
如果您使用 Red Hat Advanced Cluster Security for Kubernetes 3.0.53 或更早的版本,则备份不包括证书。
1.1. 使用 roxctl CLI 进行按需备份
您可以使用 backup 命令使用 roxctl CLI 进行备份。您需要一个 API 令牌或管理员密码才能运行这个命令。
1.1.1. 使用 API 令牌按需备份
您可以使用 API 令牌备份 Red Hat Advanced Cluster Security for Kubernetes 的整个数据库。
先决条件
-
您必须有带有
Admin角色的 API 令牌。 -
您必须已安装了
roxctlCLI。
流程
设置
ROX_API_TOKEN和ROX_CENTRAL_ADDRESS环境变量:$ export ROX_API_TOKEN=<api_token>
$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>
运行
backup命令:对于 Red Hat Advanced Cluster Security for Kubernetes 3.0.55 或更高版本:
$ roxctl -e "$ROX_CENTRAL_ADDRESS" central backup
对于 Red Hat Advanced Cluster Security for Kubernetes 3.0.54 或更早版本:
$ roxctl -e "$ROX_CENTRAL_ADDRESS" central db backup
默认情况下,roxctl CLI 会将备份文件保存到您运行该命令的目录中。您可以使用 --output 选项指定备份文件位置。
其他资源
1.1.2. 使用管理员密码按需备份
您可以使用管理员密码备份 Red Hat Advanced Cluster Security for Kubernetes 的整个数据库。
先决条件
- 您必须具有管理员密码。
-
您必须已安装了
roxctlCLI。
流程
设置
ROX_CENTRAL_ADDRESS环境变量:$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>
运行
backup命令:对于 Red Hat Advanced Cluster Security for Kubernetes 3.0.55 或更高版本:
$ roxctl -p <admin_password> -e "$ROX_CENTRAL_ADDRESS" central backup
对于 Red Hat Advanced Cluster Security for Kubernetes 3.0.54 或更早版本:
$ roxctl -p <admin_password> -e "$ROX_CENTRAL_ADDRESS" central db backup
默认情况下,roxctl CLI 会将备份文件保存到您运行该命令的目录中。您可以使用 --output 选项指定备份文件位置。
第 2 章 从备份中恢复
您可以使用 roxctl 命令行界面 (CLI) 从现有备份中恢复 Red Hat Advanced Cluster Security for Kubernetes。
您可以使用 restore 命令使用 roxctl CLI 恢复 Red Hat Advanced Cluster Security for Kubernetes。您需要一个 API 令牌或管理员密码才能运行这个命令。
2.1. 使用 API 令牌恢复
您可以使用 API 令牌恢复 Red Hat Advanced Cluster Security for Kubernetes 的整个数据库。
先决条件
- 您必须具有 Red Hat Advanced Cluster Security for Kubernetes 备份文件。
- 您必须具有带有管理员角色的 API 令牌。
-
您必须已安装了
roxctlCLI。
流程
设置
ROX_API_TOKEN和ROX_CENTRAL_ADDRESS环境变量:$ export ROX_API_TOKEN=<api_token>
$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>
运行
restore命令:$ roxctl -e "$ROX_CENTRAL_ADDRESS" central db restore <backup_file>
2.2. 使用管理员密码恢复
您可以使用管理员密码恢复 Red Hat Advanced Cluster Security for Kubernetes 的整个数据库。
先决条件
- 您必须具有 Red Hat Advanced Cluster Security for Kubernetes 备份文件。
- 您必须具有管理员密码。
-
您必须已安装了
roxctlCLI。
流程
设置
ROX_CENTRAL_ADDRESS环境变量:$ export ROX_CENTRAL_ADDRESS=<address>:<port_number>
运行
restore命令:$ roxctl -p <admin_password> -e "$ROX_CENTRAL_ADDRESS" central db restore <backup_file>
2.3. 恢复操作
在恢复操作过程中,如果您的连接中断或需要离线,您可以恢复恢复操作。
-
如果您无法访问运行恢复操作的机器,请使用
roxctl central db restore status命令检查持续恢复操作的状态。 -
如果连接中断,
roxctlCLI 会在连接可用时自动尝试恢复任务。自动连接重试取决于timeout选项指定的持续时间。 -
使用
--timeout选项指定时间(以秒为单位、分钟或小时)后,roxctlCLI 会停止尝试恢复恢复操作。如果没有指定,则默认超时为 10 分钟 (10m)。 -
如果恢复操作卡住或者要取消它,请使用
roxctl central db restore cancel命令取消持续恢复操作。 - 如果恢复操作卡住,或者您取消了它,或者已取消了,您可以通过重新运行原始命令来恢复之前的恢复。
- 在中断期间,Red Hat Advanced Cluster Security for Kubernetes 会缓存持续恢复操作 24 小时。您可以通过重新运行原始恢复命令来恢复此操作。
-
--timeout选项只管理客户端侧连接重试,不会影响 24 小时服务器端恢复缓存。 - 您无法在 Central pod 重启后恢复恢复操作。
- 如果恢复操作中断,您必须在 24 小时内重启它,并在 Central 重启前进行重启,否则 Red Hat Advanced Cluster Security for Kubernetes 会取消恢复操作。