Kasten k10 快速部署系列 01 – 利用 Rancher 部署 Kasten K10 云原生数据管理解决方案

前言:Rancher × Kasten

Kasten K10 是 Veeam 在 Kubernetes 平台的数据管理解决方案,通过部署 Kasten K10 企业可以安全地备份和还原、执行灾难恢复以及迁移云原生的应用。Kubernetes 集群资源和持久卷等存储资源。解决用户备份、灾难恢复、迁移过程中的数据管理问题,提高云原生环境数据管理的便捷性,帮助用户降低灾备成本,提高生产执行效率。

Rancher 是一款开源的企业级 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本地数据中心的集中部署与管理。因为操作体验的直观、极简备受用户青睐,在全球拥有超过3亿的核心镜像下载量。

本文将介绍如何在 Rancher 应用商店(Catalog)中安装和部署 Kasten K10 ,进而如何通过Kasten K10 进行云原生的数据管理操作。

前置条件

将现有 Kubernetes 集群已纳入 Rancher 管理

部署 Kasten K10

在 Rancher 的 Tools - Catalogs 页面可以进行应用商店(catalogs)的配置,我们在这里添加 Kasten 的 Helm 仓库:

20210819172126

保存完成后,即可选择 Apps 页面进行 Kasten K10 的部署了。选择 Launch 便可看到 Kasten 的仓库信息了。这里我们服务目录中选择 K10 。

20210819172854

接下来着需要在此页面中进行Kasten 的参数配置。以达到我们需要的效果。在 Template Version 处选择企业需要版本,并指定 NameSpace 为 kasten-io。
20210819173543

在 Answers 中 填入我们所需要的参数,以保证 K10 运行在我们需要的环境下。

有关参数设定可以参考如下链接
https://docs.kasten.io/latest/install/advanced.html

20210819173835

稍等片刻即可完成部署。

20210819223404

部署示例项目

在 APP:K10 中的 Workloads 页面中可以看到所有的服务都已经启动

20210819230331

在 APP:K10 中的 Endpoints 页面中,可以看到之前配置的 Ingress 入口

20210819223444

点击 https://192.168.99.100/k10/ 在浏览器中会出现,以下登录界面。 输入您的公司与邮件地址完成注册

20210819223530

在 Settings 中的 Locations 设置您备份数据的存放目标,这里我们选用的是 S3 兼容性存储。

20210819224000

最后启用 K10 Disaster Recovery 我们就可以进行云原生应用的灾备设定了。

20210819230948

云原生应用的部署与发现

到 Kasten Dashboard 中, 我们可以发现目前这里有 16 个 应用,如下图。让我们新建一个 WordPress 应用,该应用包括 一个 WordPress Pod 与 一个 Mysql Pod,是典型的无状态与有状态相结合的应用,应用创建的步骤如下:

20210819233255

创建 kustomization.yaml

创建 Secret 生成器
A Secret 是存储诸如密码或密钥之类的敏感数据的对象。从 1.14 开始,kubectl支持使用 kustomization 文件管理 Kubernetes 对象。您可以通过kustomization.yaml中的生成器创建一个 Secret。

通过以下命令在kustomization.yaml中添加一个 Secret 生成器。您需要用您要使用的密码替换YOUR_PASSWORD。

cat <<EOF >./kustomization.yaml
secretGenerator:
- name: mysql-pass
  literals:
  - password=YOUR_PASSWORD
EOF

下载 MySQL deployment 配置文件

curl -LO https://k8s.io/examples/application/wordpress/mysql-deployment.yaml

下载 WordPress 配置文件

curl -LO https://k8s.io/examples/application/wordpress/wordpress-deployment.yaml

补充到 kustomization.yaml 文件

cat <<EOF >>./kustomization.yaml
resources:
  - mysql-deployment.yaml
  - wordpress-deployment.yaml
EOF

应用和验证
kustomization.yaml包含用于部署 WordPress 网站的所有资源以及 MySQL 数据库。您可以通过以下方式应用目录

kubectl create ns wordpress
kubectl apply -k ./  -n wordpress

上述应用执行完成之后,我们马上就可以看到应用数量增加为 17 个
20210819233432

并可以在 Applications 中发现在这个 WordPress 应用

20210819233555

云原生应用的备份

点击 Create Policy, 让我们创建一个数据备份策略,在这个数据保护策略中 Kasten 不仅创建本地的快照对应用进行保护,还会将应用数据备份到云端的对象存储,以实现数据的长期保留

20210819233733

点击 Run Once 执行备份任务

20210819233809

观察 Dashboard 可以看到应用已经备份完成

云原生应用的还原

在 Dashboard 中找到 Applications 点击 Restore

20210820081815

选择还原的时间点

20210820081847

新建一个 Namespace 进行还原,这里我们命名为 wordpress-restore

20210820081929

由于还原的应用将新建一个 namespace ,您可以观察到。这里的应用从 17 增加到 18 个,
观察 Dashboard 我们可以看到,应用已经被成功的还原了。

20210820082244

在 Rancher Dashboard 中我们已经看到还原的应用在正常的运行了

20210820082548

总结

你可以在 Rancher 中使用 Kasten K10 的官方 Helm 仓库直接部署 Kasten K10。并且 通过 Kasten 为您的云原生应用进行数据管理操作,这包括,备份、迁移与容灾。

未来规划

Rancher 社区已经与 Kasten 达成合作,未来你可以直接在 Rancher 自带的应用商店中找到 Kasten ,不再需要手动添加 Helm 仓库了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注