首页 / 平台管理 / 应用商店管理 / Operators / 使用 Operator / Knative(Alpha)

Knative(Alpha)

Knative Operator 为平台工具链提供了完备的事件机制,以保证在复杂的业务环境下,平台中的异步操作能如期执行。

说明:因平台已经在 global 集群中自动完成相关配置,本节操作仅针对待使用持续构建、持续发布能力的业务集群。

前提条件

已部署 Knative Operator,具体请参考 安装 Operator

注意:如果希望在指定节点上部署 Knative Operator,需先给节点添加可代表相关含义的键值对 标签 ,待 Operator 部署成功后再 编辑订阅(Subscription) 以增加 nodeSelector 配置。例如以下 YAML 示例可用于表示只在 amd64 架构的节点上部署 Operator。

apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: knative-operator
spec:
  config:
    nodeSelector:
      beta.kubernetes.io/arch: amd64 #节点标签

注意事项

KnativeEventing 仅支持创建一个实例,实例可部署至任意命名空间,您只需保证该命名空间资源充足即可。

部署实例

  1. 在左侧导航栏中,单击 应用商店管理 > Operators

  2. 已部署 Operators 页签中,单击 knative-operator

  3. 单击 KnativeEventing 实例卡片中的 创建实例

  4. 配置相关参数 名称命名空间标签 等。

    注意:创建 KnativeEventing 实例时,平台默认自动创建 Broker 实例。您只需在 KnativeEventing 实例的default-br-config yaml 配置区域中,确保 yaml 中 namespace 与 KnativeEventing 实例的命名空间一致,如图所示:

  5. 可选:如果已经将 Knative Operator 部署到了指定的节点上,请相应在 KnativeEventing 实例的 YAML 中增加 nodeSelector 配置。

    注意:需要为 spec.deployments 下的计算组件都添加此配置。

    apiVersion: operator.knative.dev/v1alpha1
    kind: KnativeEventing
    metadata:
      name: knative-eventing
    spec:
      deployments:
        - name: eventing-controller #其中一个计算组件
          nodeSelector:
            beta.kubernetes.io/arch: amd64 #与 Operator 设置保持一致
        - name: eventing-webhook #其中一个计算组件
          nodeSelector:
            beta.kubernetes.io/arch: amd64 #与 Operator 设置保持一致
  6. 可选:在 YAML 中进行高可用配置。避免因单个节点故障而影响实例及持续构建、持续发布等相关功能使用异常。

    apiVersion: operator.knative.dev/v1alpha1
    kind: KnativeEventing
    metadata:
      name: knative-eventing
    spec:
      high-availability:
        replicas: 1   # 副本数大于 1 时,可实现实例高可用
  7. 单击 创建