作者:
Adam Bergh, Solutions Architect, Cloud Native Technical Partnerships, Kasten by VeeamTerry Smith, Global Partner Solutions Director, SUSE
Gerson Guevara, IHV Solutions Architect, SUSE
1.简介
1.1 用途
现在,企业在逐渐向云原生转移(例如使用容器化工作负载和 SUSE Rancher 等 Kubernetes 管理平台)。企业的目标是提高灵活性、规模和弹性,来加速创新并快速适应动态条件。在这种永远在线的 IT 环境中,应用程序的可移植性和数据保护就十分关键。
Kasten K10 by Veeam® 数据管理平台为企业运营团队提供了一个易于使用、可扩展且安全的系统,用于云原生应用程序的备份和恢复、灾难恢复和迁移。
1.2 范围
本指南概述了在 SUSE Rancher Kubernetes 环境中安装和设置 Kasten K10 by Veeam,以及执行应用程序的简单备份和恢复的步骤。
1.3 受众
本文档适用于 IT 运营团队、备份管理员、DevOps 和 DevSecOps 团队,以及负责云原生环境的业务连续性、灾难恢复、勒索软件和威胁控制以及应用程序迁移的其他人员。
2.技术概述
**Kasten K10 by Veeam® 数据管理平台与 SUSE Rancher 深度集成,并提供了跨 Kubernetes 发行版和云平台的生态系统支持,这为企业运营团队提供了灵活的部署环境选项(本地、公有云和混合云)。**K10 是由策略驱动并可扩展的。它提供了很多企业功能,例如全局一致性、数据库集成、自动应用程序发现、多云迁移和强大的 Web UI。
3.先决条件
本指南涉及以下内容:
-
SUSE Rancher
本指南使用的是 Rancher 2.6。有关详细信息,请参阅 SUSE Rancher 安装指南。 -
由 SUSE Rancher 管理的 Kubernetes 集群。你可以使用任何 CNCF 认证的 Kubernetes 集群。请参阅 SUSE Rancher 支持矩阵。
-
备份目标的存储
外部备份存储目标(例如 NFS 文件服务器或云对象存储)。本文档将使用与 S3 兼容的外部对象存储桶。 -
用于演示备份和恢复功能的用户应用程序
例如,你可以使用 Helm Chart 轻松安装 WordPress。
K10 可以安装在各种不同的环境中。为了确保安装顺利,你可以使用 primer 工具来执行几个实施前检查(pre-flight check)。该工具在集群的 pod 中运行,且会执行以下操作:
- 验证 Kubernetes 设置是否满足 K10 要求。
- 登记可用的 StorageClass。
- 如果存在 CSI provisioner,它还会对集群的 CSI 功能和相关对象进行基本验证。有关详细信息,请参阅文档中的 CSI pre-flight。
运行以下命令部署 primer 工具:
curl https://docs.kasten.io/tools/k10_primer.sh | bash
注意:
这将创建并清理 ServiceAccount 和 ClusterRoleBinding,以便对 Kubernetes 集群执行健全性检查。
4.安装 Kasten K10
可以在 SUSE Rancher 的 Apps & Marketplace 页面中轻松部署 Kasten K10。
4.1为 Kasten K10 应用程序创建一个新的命名空间
- 在 SUSE Rancher 的 UI 中,导航到 Clusters > Project/Namespaces:
- 为 Kasten K10 创建一个 “kasten-io” 命名空间:
4.2 安装 Kasten K10
- 在 SUSE Rancher UI 中导航到 Apps & Marketplace > Charts 并搜索 “Kasten”:
- 选择 K10 Chart 并单击 Install:
- 在 Namespace 下拉框中选择 “kasten-io” 命名空间。你也可以选择 Customize Helm options before install 来自定义部署(非必选)。有关详细说明,请参阅 Helm 选项完整列表。
- 设置 Chart 值后,单击 Next,然后单击 Install。
4.3 验证安装
要验证 Kasten K10 是否已正确安装,请在 “kasten-io” 命名空间中运行以下命令并查看所有 K10 pod 的状态:
kubectl get pods --namespace kasten-io --watch
Pod 需要几分钟后才能全部出现并显示 “Running” 状态:
kubectl get pods --namespace kasten-ioNAMESPACE NAME READY STATUS RESTARTS AGEkasten-io aggregatedapis-svc-b45d98bb5-w54pr 1/1 Running 0 1m26skasten-io auth-svc-8549fc9c59-9c9fb 1/1 Running 0 1m26skasten-io catalog-svc-f64666fdf-5t5tv 2/2 Running 0 1m26s...
注意:
如果 pod 卡在其他状态,请参阅支持文档以进一步进行调试。
5.访问 K10 仪表板
Kasten K10 仪表板默认不对外暴露。要建立连接,请运行以下 kubectl 命令:
kubectl --namespace kasten-io port-forward service/gateway 8080:8000
注意:
如果你安装的 Kasten K10 的版本名称不是 k10(通