You need to enable JavaScript to run this app.
导航
创建差异化策略(控制台)
最近更新时间:2024.01.19 14:39:14首次发布时间:2024.01.19 14:39:14

差异化策略用于管理资源在不同集群分发时的差异化配置,分布式云原生平台支持通过控制台白屏化配置封装的覆写语法,本文为您介绍通过控制台白屏化创建差异化策略的步骤和详细介绍。

背景信息

原有的 JsonPatch 覆写语法只能整体的替换字段,覆写粒度较粗,无法满足精细化覆写场景,例如:JsonPatch 覆写语法替换镜像的仓库地址时只能整体替换,不能精细化替换镜像仓库地址中的 Registry、Repository、Tag、Digest 字段。

因此,为了弥补 JsonPatch 覆写语法的局限性,针对指定资源(包括:Image、Command、Args、Labels、Annotations 等)提供封装的覆写语法,满足指定字段统一覆盖的场景,资源覆盖面局限但覆写颗粒度更细。

前提条件

  • 已完成创建主控实例。详情请参见 创建主控实例
  • 已在主控实例中添加成员集群,详情请参见 添加成员集群
  • 若期望创建命名空间级的差异化策略,需提前创建联邦命名空间,详情请参见 创建命名空间

使用限制

  • 通过控制台白屏化创建差异化策略目前仅支持封装的覆写语法,覆写粒度更细但覆盖面局限。如果需要通过 JsonPath 覆写语法配置差异化策略规则,请使用 Yaml 创建或编辑差异化策略。详细介绍参见:创建差异化策略(Yaml)
  • 若同一个差异化策略配置了多个规则组或规则,将按顺序依次执行并生效。例如:顺序执行规则组 1 中规则 1、规则 2 等,然后再执行规则组 2 及其中的规则,以此类推。

操作步骤

  1. 登录 分布式云原生控制台
  2. 在左侧导航栏选择 联邦主控实例,进入主控实例管理页面。
  3. 在主控实例列表,单击目标主控实例名称,进入主控实例配置页面。
  4. 在左侧导航栏选择 策略管理 > 差异化策略
  5. 单击 创建差异化策略,根据弹窗指引配置差异化策略相关参数,完成后单击 确定

alt

配置项说明
名称自定义差异化策略名称。
策略级别差异化策略的类型,包括:命名空间级别、集群级别,根据实际情况选择即可。
命名空间策略类型为命名空间级别时需要配置,选择差异化策略生效的命名空间。

规则组

差异化规则的组合,由目标集群和规则组成,单击 添加规则组 可添加多条规则组。

说明

如果需要通过 JsonPatch 语法配置的差异化规则,请使用 Yaml 创建 / 编辑。详细介绍参见:JsonPatch 覆写语法

集群选择方式

规则组中选择目标集群的方式,提供:指定集群、集群标签、所有集群,可根据实际场景按需选择。

指定集群:当前规则组中的差异化规则对指定成员集群生效,按需勾选成员集群即可。

集群标签:当前规则组中的差异化规则对集群标签匹配到的成员集群生效,提供 clusterSelector、clusterAffinity 两种方式,按需选用其中一种方式匹配成员集群既即可。

  • clusterSelector:通过键值对形式的标签来匹配集群,差异化策略在 clusterSelector 标签匹配的成员集群内生效。

  • clusterAffinity:通过强制调度条件中配置的选择器标签来匹配集群,差异化策略在 clusterAffinity 标签匹配的成员集群内生效。

所有集群:当前规则组中的差异化规则会在资源分发到的所有成员集群中生效。

规则

针对资源提供精确化覆写规则配置,配置类型提供:容器集群、命令、参数、标签、注解。覆写规则相关详细介绍参见:封装的覆写语法

容器镜像:针对镜像地址资源的覆写语法,用于覆写 Kubernetes 原生资源镜像仓库的各个字段。镜像仓库地址组成为:[Registry '/'] Repository [ ":" Tag ][ "@" Digest ]。涉及到的覆写语法参数如下:

  • 指定容器:可选项,表示要操作 Pod 中的 Container 名称。支持按所有镜像、指定镜像、自定义路径选择覆写镜像的范围,根据实际情况选择即可。

  • 自定义路径:可选项,表示要进行覆写操作的资源路径。支持按所有镜像、指定镜像、自定义路径选择覆写镜像的范围,根据实际情况选择即可。

  • 目标:必填项,表示要操作的镜像仓库地址的哪个组成部分,可选值如下。

    • Registry:镜像所在仓库地址。

    • Repository:镜像名称。

    • Tag:镜像版本号。

    • Digest:镜像标识符。

  • 操作:必填项,表示要对以上目标的操作方式,包括:addIfAbsent、overwrite、delete。详细介绍参见:覆写规则

  • :必填项,表示以上操作中需要追加或替换的值。

说明

此覆写语法支持按所有镜像、指定镜像、自定义路径选择覆写镜像的范围,其中,自定义路径适用于 CRD 资源的镜像仓库地址覆写场景。单击 添加 可根据实际情况进行选择并添加规则。

命令:针对命令资源提供的覆写语法,可追加、替换、删除命令资源。涉及到的覆写语法参数如下:

  • 指定容器:必填项,表示要操作 Pod 中的 Container 名称。

  • 操作:必填项,表示要对以上目标的操作方式,包括:append、overwrite、delete。详细介绍参见:覆写规则

  • 命令:可选项,表示以上操作中需要追加或替换的值。

说明

可通过回车换行的方式,可添加多个命令,最多输入 200 字符。

参数:针对参数资源提供的覆写语法,可追加参数列表资源。
涉及到的覆写语法参数如下:

  • 指定容器:必填项,表示要操作 Pod 中的 Container 名称。

  • 操作:必填项,表示要对以上目标的操作方式,包括:append、overwrite、delete。详细介绍参见:覆写规则

  • 参数:可选项,表示以上操作中需要追加或替换的值。

说明

可通过回车换行的方式,可添加多个参数,最多输入 200 字符。

标签:针对标签资源提供的覆写语法,可添加、替换、删除标签资源。涉及到的覆写语法参数如下:

  • operator:必填项,表示要对以上目标的操作方式,包括:addIfAbsent、overwrite、delete。详细介绍参见:覆写规则

  • value:必填项,表示以上操作中需要追加或替换的值。

注解:针对标签资源提供的覆写语法,可添加一条 Annotation。涉及到的覆写语法参数如下:

  • operator:必填项,表示要对以上目标的操作方式,包括:addIfAbsent、overwrite、delete。详细介绍参见:覆写规则

  • value:必填项,表示以上操作中需要追加或替换的值。

后续操作

完成创建差异化策略后,您可以在进行资源分发时,直接引用差异化策略,从而实现与预期相符的资源分发。详细介绍参见:资源分发实践