简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

定义自定义应用程序

提供者 netapp-bcammett netapp-mwallis

通过创建自定义应用程序,您可以将 Kubernetes 集群中的元素分组到一个应用程序中。

通过自定义应用程序,您可以更精细地控制要包含在 Astra Control 操作中的内容,其中包括:

  • 克隆

  • Snapshot

  • 备份

  • 保护策略

大多数情况下,您需要在整个应用程序上使用 Astra Control 的功能。但是,您也可以创建一个自定义应用程序,以便通过为命名空间中的 Kubernetes 对象分配的标签来使用这些功能。

要创建自定义应用程序,请转到应用程序页面,然后选择超过定义自定义应用程序。

在您选择时,自定义应用程序窗口将显示哪些资源将包含在您的自定义应用程序中或从该应用程序中排除。这有助于您确保选择正确的标准来定义自定义应用程序。

" 定义自定义应用程序 " 弹出窗口的屏幕截图,显示哪些资源将包含在自定义应用程序中,哪些资源不会包含在该应用程序中

在以上示例中,自定义应用程序将包括一个资源( Pod nginx/pod0 labelled deployment : Canary )。不包括两个 Pod (nginx podnginx Pod2 均标记为 deployment : stable )。

注 只能在单个集群上的指定命名空间中创建自定义应用程序。Astra Control 不支持自定义应用程序跨越多个命名空间或集群。

标签是一个键 / 值对,您可以将其分配给 Kubernetes 对象进行标识。通过标签,可以更轻松地对 Kubernetes 对象进行排序,组织和查找。要了解有关 Kubernetes 标签的更多信息, "请参见 Kubernetes 官方文档"

警告 名称不同的同一资源的重叠策略可能会发生发生原因数据冲突。如果要为某个资源创建自定义应用程序,请确保不会根据任何其他策略克隆或备份该应用程序。

示例:适用于 Canary 版本的单独保护策略

在此示例中, DevOps 团队正在管理一个 Canary 版本部署。他们的集群中有三个 Pod 运行 nginx 。其中两个 Pod 专用于稳定版本。第三个 POD 适用于加那利版本。

该团队的 Kubernetes 管理员会将标签 detion=stable 添加到稳定版本 Pod 中。管理员还会将标签 deeption=Canary 添加到 Canary 版本 POD 中。

运行 "kubectl get pods-namespace=ngins-app -show-labtes" 的结果的屏幕截图,显示三个 Pod 上的 Kubernetes 标签。

该团队的稳定版本要求每小时创建一次快照,每天进行备份。金那利版本的发布时间较短,因此他们希望为任何标记为 deeption=Canary 的对象创建一个不太积极的短期保护策略。

为了避免可能的数据冲突,管理员会创建两个自定义应用程序:一个用于加那利版本,一个用于稳定版本。这样就可以使两组 Kubernetes 对象的备份,快照和克隆操作分开。

管理员将集群添加到 Astra Control 后,下一步是定义自定义应用程序。为此,管理员会选择应用程序页面上的 "* + define custom app"* 按钮。

在显示的弹出窗口中,管理员会将 devops-cany-deployment 设置为应用程序名称。然后,管理员在 "* 集群 " 下拉列表中选择集群,然后从 " 命名空间 "* 下拉列表中选择应用程序的命名空间。

此时,管理员可以在 "#Labels"* 字段中键入 deeption=Canary ,也可以从以下资源中选择该标签。

为 Canary 部署定义自定义应用程序后,管理员将重复此过程以实现稳定部署。

创建这两个自定义应用程序后,管理员可以将这些资源视为任何其他 Astra Control 应用程序。管理员可以克隆这些资源,创建备份和快照,并根据 Kubernetes 标签为每个资源组创建自定义保护策略。