本文介绍如何在 Zadig 系统上进行多集群管理。Zadig 基于本地集群安装,同时支持外部多个 K8s 集群资源的接入和使用。其中,测试集群一般用于自测、开发、测试用途,生产集群一般用于预发布和生产发布用途。

添加集群

注意

需要保证添加的集群可以访问到 Zadig 所在的集群

第 1 步:点击 系统设置 -> 集群管理 -> 新建

cluster

参数说明:

  • 名称:集群名称只支持小写字母、数字和中划线。
  • 集群提供商:该集群的提供商信息。
  • 描述: 该集群的用途描述信息。
  • 生产集群
    • 如果指定生产集群为「否」,有环境创建权限的用户,可以指定使用哪个集群资源。
    • 如果指定生产集群为「是」,超级管理员可以通过权限控制集群资源的使用,以实现业务与资源的严格隔离和安全生产管控。
  • 指定项目范围:指定该集群可被哪些项目使用。

第 2 步:执行 Agent 安装脚本,如图所示:

cluster_add_kubectl

第 3 步:执行脚本完成部署,刷新查看集群状态。

设置调度策略

点击编辑,可设置该集群资源的调度策略。以执行工作流任务为例对不同的策略说明如下:

  • 随机调度:不需要指定标签,工作流任务将被随机调度在集群的任意节点上执行。
  • 强制调度:需要指定标签,工作流任务将被调度到符合标签的节点上执行。
  • 优先调度:需要指定标签,工作流任务将被优先调度到符合标签的节点上执行,若节点资源无法满足调度需求,则该任务会被分配给其他节点。

修改集群调度策略

缓存资源配置

可按需对不同集群资源配置缓存策略。

使用对象存储

修改集群缓存资源配置

将会使用系统默认对象存储来缓存资源,可在对象存储管理中设置默认对象存储。

使用集群存储

修改集群缓存资源配置

可使用集群中已有的存储资源或按需动态创建资源。

选择存储资源

  • 动态生成资源:选择文件存储类型的 StorageClass 并指定动态生成的存储空间大小。
  • 使用现有存储资源:选择已有存储资源,注意:创建该存储资源的 PVC 中,accessModes 需要是 ReadWriteMany。

缓存目录规则

可设置缓存资源在集群存储中的存储目录相对路径规则,实现共享缓存,或者根据不同的项目/工作流/服务组件独享缓存。支持以下变量:

  1. $PROJECT:项目名称
  2. $WORKFLOW:工作流名称
  3. $SERVICE_MODULE:服务组件名称 (测试工作流中无此参数,对于测试工作流的缓存,该变量将被忽略)

举例说明如下:

缓存目录规则说明
$PROJECT/$WORKFLOW/$SERVICE_MODULE为同一项目同一工作流中的服务组件单独设置独享缓存,不同服务组件之间互不干扰
$PROJECT/$WORKFLOW同一项目下的同一工作流共享缓存;不同工作流之间独享缓存互不干扰
$PROJECT/$SERVICE_MODULE同一项目下的相同服务组件共享缓存
$PROJECT同一项目共享缓存;不同项目的缓存资源将存储在集群 PVC 的不同目录中,彼此独享缓存互不干扰
cache缓存资源将存储在集群 /<PVC 根目录>/cache 目录下,所有项目共享使用缓存
缓存资源将存储在集群 /<PVC 根目录> 下 ,所有项目共享使用缓存

更多信息

若修改了集群的缓存资源配置(比如将对象存储修改为集群存储,或者动态生成资源修改为使用现有存储资源),则修改之前已缓存的资源在修改后将不再生效,会在新的存储资源下重新开始缓存。

集群使用

外部集群接入 Zadig 系统后,使用 Zadig 系统可以在该集群上创建新环境,并可以使用工作流对新环境进行更新操作。