You need to enable JavaScript to run this app.
导航

添加 CRD 资源

最近更新时间2023.09.25 12:25:24

首次发布时间2023.07.20 10:49:32

分布式云原生平台提供 CRD 资源添加能力,用户可根据实际情况,添加命名空间级别或集群级别的 CRD 资源。本文为您详细介绍如何添加 CRD 资源。

背景信息

多集群分发能力是分布式云原生平台的核心特性之一,成功添加 CRD 资源即表示启用 CRD 资源的多集群分发能力。

前提条件

已经准备符合要求的 CRD 资源 Yaml,具体内容和定义以用户实际使用场景为准。

使用限制

不允许创建联邦集群中已存在的资源类型。

操作步骤

  1. 登录 分布式云原生控制台
  2. 在左侧导航栏选择 联邦主控实例,进入主控实例管理页面。
  3. 单击目标主控实例名称,在左侧导航栏选择 运维管理 > 分发资源管理
  4. 在分发资源管理的自定义资源页签,单击 添加 CRD 资源,根据实际需求配置 CRD 资源相关参数。

alt

# 本文以 CronTab 为例,展示 CRD 资源 Yaml 示例和关键参数说明。

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: crontabs.stable.example.com    # 名称必须与下面的 spec 字段匹配,格式为:<名称的复数形式>.<组名>。
spec:
  group: stable.example.com            # 组名,用于 REST API: /apis/<组>/<版本>。
  versions:             # 版本,列举此 CustomResourceDefinition 所支持的版本。
    - name: v1          # 版本名称,用于 REST API: /apis/<组>/<版本>。
      served: true      # 版本启用状态,通过 served 独立标志每个版本启用还是禁止。
      storage: true     # 是否为存储版本,要求其中一个且只有一个版本必需被标记为存储版本。
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              properties:
                cronSpec:
                  type: string
                image:
                  type: string
                replicas:
                  type: integer
  scope: Namespaced     # 资源级别,Namespaced 表示命名空间级别,Cluster 表示集群级别。
  names:
    plural: crontabs    # 名称的复数形式,用于 URL:/apis/<组>/<版本>/<名称的复数形式>。
    singular: crontab   # 名称的单数形式,作为命令行使用时和显示时的别名。
    kind: CronTab       # kind 通常是单数形式的帕斯卡编码(PascalCased)形式,用于资源清单使用。
    shortNames:         # shortNames 允许在命令行使用较短的字符串来匹配资源。
    - ct
配置项说明
CRD 资源 Yaml用于定义自定义资源,将根据实际场景准备的 CRD 资源 Yaml 粘贴至此,示例和关键字段说明参见上文举例。

副本模式调度

默认关闭,提供复制分发能力。开启后,该资源支持根据权重将期望副本分发到多个成员集群中。
开启后,需要配置 CRD 资源的以下字段路径:期望副本数、容器组选择标签。

  • 期望副本数:该资源定义的期望副本数的字段定义路径,默认为:spec.replicas

  • 容器组选项标签:该资源定义的容器组选择标签的字段定义路径,默认为:spec.selector

副本不可调度迁移

默认关闭,不提供自动迁移能力。开启后,该资源支持通过部署策略启用该特性,当副本在成员集群中处于不可调度状态超过一定时间后,会自动迁移到其他健康成员集群中。
开启后,需要配置 CRD 资源的以下字段路径:当前副本数、就绪副本数。

  • 当前副本数:该资源定义的当前副本数的字段定义路径,默认为:status.replicas

  • 就绪副本数:该资源定义的就绪副本数的字段定义路径,默认为:status.readyReplicas

自定义状态采集字段

将成员集群中已分发资源的指定字段信息采集到联邦侧进行统一查看,例如:status 信息。
可单击 添加采集字段,配置自定义字段的采集路径。

  1. 所有参数配置完成后,单击 确定,将提交配置并添加 CRD 资源。

说明

提交配置过程将对 CRD 资源的 Yaml 格式和 Kubernetes CRD 资源定义规范校验进行校验,若提示报错,需要根据报错提示修改 Yaml,完成后重新提交即可。