使用 gkectl 备份和恢复管理员集群

本页面介绍如何使用 gkectl 命令备份和恢复管理员集群,包括其 etcd 数据、Secret 和证书。您还可以手动备份恢复管理员集群。

备份管理员集群

您可以设置管理员集群备份,使其在用户集群和管理员集群创建、更新和升级前后自动执行。您还可以根据需要执行按需备份。

管理员集群备份包含以下内容:

  • 管理员集群 etcd 数据
  • Secret
  • 证书
  • 始终开启的 Secret 加密密钥和配置文件(如果已启用始终开启的 Secret 加密功能)

备份的大小介于 3 MB 到 100 MB 之间,具体取决于集群的大小。

启用管理员集群备份功能

默认情况下,此功能处于停用状态。如需启用管理员集群备份功能,请执行以下操作:

  1. 将以下部分添加到管理员集群配置文件

    clusterBackup:
      datastore: DATASTORE
    

    DATASTORE 替换为要存储备份的数据存储区。数据存储区必须与管理员集群位于同一数据中心。备份位于指定数据存储区的 anthos-backup/DATADISK_PATH 目录中。

  2. 更新管理员集群:

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
    

    替换以下内容:

    • ADMIN_CLUSTER_KUBECONFIG 替换为管理员集群 kubeconfig 文件的路径。
    • ADMIN_CLUSTER_CONFIG 替换为管理员集群配置文件的路径。

停用管理员集群备份功能

  1. 从管理员集群配置文件中移除 clusterBackup 部分。

    clusterBackup:
      datastore: DATASTORE
    
  2. 通过以下命令将此更改更新到管理员集群中:

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
    

更新备份数据存储区

您可以通过更新 clusterBackup.datastore 反映新位置来更新用于存储备份的数据存储区。新的数据存储区必须与管理员集群位于同一数据中心。

  1. 修改管理员集群配置文件以更改 clusterBackup.datastore 值。

    clusterBackup:
      datastore: new-datastore
    
  2. 通过以下命令将此更改更新到管理员集群中:

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
    

按需备份

如需触发管理员集群按需备份,请运行以下命令:

gkectl  backup admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
   

备份数量上限

您最多可以有六个备份,分为最多三个按需备份,以及最多三个来自集群更新、升级或创建操作的备份。如果超出这些限制,系统会自动轮替这些备份。这个过程无需人工干预。

恢复管理员集群

只有在管理员集群因数据丢失或损坏而完全被破坏时才因对其执行恢复操作。例如:

  • 管理员主数据磁盘丢失或损坏。
  • 管理员集群的 etcd 丢失或损坏。
  • 管理员集群的控制层面密钥和证书丢失或损坏。

请勿使用此方法将工作管理员集群恢复到任意先前状态。此恢复功能不应用作还原管理员集群操作(例如集群更新或集群升级)的方法。

如需从备份重新创建管理员集群,请运行以下命令:

  gkectl repair admin-master --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG --restore-from-backup
  

此命令会从管理员集群配置文件的 clusterBackup 部分中定义的数据存储区中检索此管理员集群的所有备份,并提示您选择要用于恢复管理员集群的备份。