跳到内容

使用 YAML 文件安装 Knative Eventing

本主题介绍如何通过应用 YAML 文件来安装 Knative Eventing。此安装需要以下先决条件

单节点至少需要 6 个 CPU、6 GB 内存和 30 GB 磁盘存储。

多节点需要 2 个 CPU、4 GB 内存和 20 GB 磁盘存储。

  • 现有 Kubernetes 正在运行受支持的版本。

有关其他 Knative 安装的信息,请参阅安装路线图

安装 Knative Eventing 组件

安装 Knative Eventing 组件

  1. 通过运行以下命令安装所需的自定义资源定义 (CRD)

    kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.20.0/eventing-crds.yaml
    
  2. 通过运行以下命令安装 Eventing 的核心组件

    kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.20.0/eventing-core.yaml
    

    信息

    有关 Knative Eventing 中的 YAML 文件的信息,请参阅YAML 文件描述表

验证安装

成功

监视 Knative 组件,直到所有组件的 STATUS 显示为 RunningCompleted。您可以通过运行以下命令并检查输出来完成此操作

kubectl get pods -n knative-eventing

示例输出

NAME                                   READY   STATUS    RESTARTS   AGE
eventing-controller-7995d654c7-qg895   1/1     Running   0          2m18s
eventing-webhook-fff97b47c-8hmt8       1/1     Running   0          2m17s

可选:安装默认通道(消息)层

以下选项卡展开以显示安装默认通道层的说明。按照您选择的通道的步骤进行操作

注意

使用 Kafka 通道需要访问 Apache Kafka 集群。例如,您可以按照 Strimzi 快速入门页面上的说明进行操作。

以下命令安装 KafkaChannel 并在系统命名空间中运行事件路由。默认使用 knative-eventing 命名空间。

  1. 通过运行以下命令安装 Kafka 控制器

    kubectl apply -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.20.0/eventing-kafka-controller.yaml
    
  2. 通过运行以下命令安装 KafkaChannel 数据平面

    kubectl apply -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.20.0/eventing-kafka-channel.yaml
    
  3. 如果您正在从以前的版本升级,请运行以下命令

    kubectl apply -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.20.0/eventing-kafka-post-install.yaml
    

警告

此简单的独立实现在内存中运行,不适用于生产用例。

  • 通过运行以下命令安装通道的内存实现

    kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.20.0/in-memory-channel.yaml
    
  1. 为 Kubernetes 安装 NATS Streaming.

  2. 通过运行以下命令安装 NATS Streaming Channel

    kubectl apply -f https://github.com/knative-extensions/eventing-natss/releases/download/knative-v1.20.0/eventing-jsm.yaml
    

您可以通过遵循配置通道默认值部分中描述的说明来更改默认通道实现。

可选:安装 Broker 层

以下选项卡展开以显示安装 Broker 层的说明。按照您选择的 Broker 的步骤进行操作

注意

使用 Kafka Broker 需要访问 Apache Kafka 集群。例如,您可以按照 Strimzi 快速入门页面上的说明进行操作。

以下命令安装 Apache Kafka Broker 并在系统命名空间中运行事件路由。默认使用 knative-eventing 命名空间。

  1. 通过运行以下命令安装 Kafka 控制器

    kubectl apply -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.20.0/eventing-kafka-controller.yaml
    
  2. 通过运行以下命令安装 Kafka Broker 数据平面

    kubectl apply -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.20.0/eventing-kafka-broker.yaml
    
  3. 如果您正在从以前的版本升级,请运行以下命令

    kubectl apply -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.20.0/eventing-kafka-post-install.yaml
    

有关更多信息,请参阅Kafka Broker 文档。

此 Broker 实现使用通道并在系统命名空间中运行事件路由组件,提供了更小、更简单的安装。

  • 通过运行以下命令安装此 Broker 实现

    kubectl apply -f https://github.com/knative/eventing/releases/download/knative-v1.20.0/mt-channel-broker.yaml
    

    要自定义使用的 Broker 通道实现,请更新以下 ConfigMap 以指定哪些配置用于哪些命名空间

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: config-br-defaults
      namespace: knative-eventing
    data:
      default-br-config: |
        # This is the cluster-wide default broker channel.
        clusterDefault:
          brokerClass: MTChannelBasedBroker
          apiVersion: v1
          kind: ConfigMap
          name: imc-channel
          namespace: knative-eventing
        # This allows you to specify different defaults per-namespace,
        # in this case the "some-namespace" namespace will use the Kafka
        # channel ConfigMap by default (only for example, you will need
        # to install kafka also to make use of this).
        namespaceDefaults:
          some-namespace:
            brokerClass: MTChannelBasedBroker
            apiVersion: v1
            kind: ConfigMap
            name: kafka-channel
            namespace: knative-eventing
    

    引用的 imc-channelkafka-channel 示例 ConfigMap 如下所示

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: imc-channel
      namespace: knative-eventing
    data:
      channel-template-spec: |
        apiVersion: messaging.knative.dev/v1
        kind: InMemoryChannel
    ---
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: kafka-channel
      namespace: knative-eventing
    data:
      channel-template-spec: |
        apiVersion: messaging.knative.dev/v1alpha1
        kind: KafkaChannel
        spec:
          numPartitions: 3
          replicationFactor: 1
    

警告

要使用 KafkaChannel,请确保已在集群上安装它,如本主题前面所述。

有关更多信息,请参阅 GitHub 中的RabbitMQ Broker

安装可选的 Eventing 扩展

以下选项卡展开以显示安装每个 Eventing 扩展的说明。

  1. 通过运行以下命令安装 Kafka 控制器

    kubectl apply -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.20.0/eventing-kafka-controller.yaml
    
  2. 通过运行以下命令安装 Kafka Sink 数据平面

    kubectl apply -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.20.0/eventing-kafka-sink.yaml
    

有关更多信息,请参阅Kafka Sink 文档。

单租户 GitHub 源为每个 GitHub 源创建一个 Knative 服务。

多租户 GitHub 源只创建一个 Knative 服务,该服务处理集群中的所有 GitHub 源。此源不支持日志记录或跟踪配置。

  • 要安装单租户 GitHub 源,请运行以下命令

    kubectl apply -f https://github.com/knative-extensions/eventing-github/releases/download/knative-v1.20.0/github.yaml
    
  • 要安装多租户 GitHub 源,请运行以下命令

    kubectl apply -f https://github.com/knative-extensions/eventing-github/releases/download/knative-v1.20.0/mt-github.yaml
    

要了解更多信息,请尝试GitHub 源示例

  1. 通过运行以下命令安装 Apache Kafka 源

    kubectl apply -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.20.0/eventing-kafka-source.yaml
    
  2. 如果您正在从以前的版本升级,请运行以下命令

    kubectl apply -f https://github.com/knative-extensions/eventing-kafka-broker/releases/download/knative-v1.20.0/eventing-kafka-post-install.yaml
    

要了解更多信息,请尝试Apache Kafka 源示例

  • 通过运行以下命令安装 Apache CouchDB 源

    kubectl apply -f https://github.com/knative-extensions/eventing-couchdb/releases/latest/download/couchdb.yaml
    

要了解更多信息,请阅读Apache CouchDB 源文档。

  • 通过运行以下命令安装 VMware 源和绑定

    kubectl apply -f https://github.com/vmware-tanzu/sources-for-knative/releases/latest/download/release.yaml
    

要了解更多信息,请尝试VMware 源和绑定示例

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息会与 Google 共享以达到此目的。了解更多。