×

安装 OpenShift Serverless Operator 使您能够在 OpenShift Container Platform 集群上安装和使用 Knative Serving、Knative Eventing 和用于 Apache Kafka 的 Knative 代理。OpenShift Serverless Operator 管理集群的 Knative 自定义资源定义 (CRD),并使您能够配置它们,而无需直接修改每个组件的各个配置映射。

OpenShift Serverless Operator 资源需求

以下示例设置可能有助于您估算 OpenShift Serverless Operator 安装的最低资源需求。您的具体需求可能大相径庭,并且随着您对 OpenShift Serverless 使用的增加而增长。

示例设置中使用的测试套件具有以下参数

  • 具有以下配置的 OpenShift Container Platform 集群:

    • 10 个工作节点 (8 个 vCPU,16 GiB 内存)

    • 3 个专用于 Kafka 的工作节点

    • 2 个专用于 Prometheus 的工作节点

    • 5 个剩余的工作节点用于 Serverless 和测试部署

  • 并行运行 89 个测试场景,主要侧重于使用控制平面。测试场景通常包含一个 Knative 服务,它通过内存通道、Kafka 通道、内存代理或 Kafka 代理将事件发送到部署或 Knative 服务。

  • 48 个重新创建场景,其中测试场景被反复删除和重新创建。

  • 41 个稳定场景,在整个测试运行过程中缓慢但持续地发送事件。

  • 测试设置总共包含:

    • 170 个 Knative 服务

    • 20 个内存通道

    • 24 个 Kafka 通道

    • 52 个订阅

    • 42 个代理

    • 68 个触发器

下表详细说明了测试套件发现的高可用性 (HA) 设置的最低资源需求

组件 RAM 资源 CPU 资源

OpenShift Serverless Operator

1GB

0.2 核

Knative Serving

5GB

2.5 核

Knative Eventing

2GB

0.5 核

Apache Kafka 的 Knative 代理

6GB

1 核

总计

14GB

4.2 核

下表详细说明了测试套件发现的非 HA 设置的最低资源需求

组件 RAM 资源 CPU 资源

OpenShift Serverless Operator

1GB

0.2 核

Knative Serving

2.5GB

1.2 核

Knative Eventing

1GB

0.2 核

Apache Kafka 的 Knative 代理

6GB

1 核

总计

10.5GB

2.6 核

从 Web 控制台安装 OpenShift Serverless Operator

您可以使用 OpenShift Container Platform Web 控制台从 OperatorHub 安装 OpenShift Serverless Operator。安装此 Operator 使您可以安装和使用 Knative 组件。

先决条件
  • 您在 OpenShift Container Platform 上拥有集群管理员权限,或者您在 Red Hat OpenShift Service on AWS 或 OpenShift Dedicated 上拥有集群或专用管理员权限。

  • 对于 OpenShift Container Platform,您的集群已启用 Marketplace 功能或手动配置了 Red Hat Operator 目录源。

  • 您已登录 Web 控制台。

步骤
  1. 在 Web 控制台中,导航到**Operators** → **OperatorHub** 页面。

  2. 滚动或在“按关键字筛选”框中键入关键字**Serverless** 以查找 OpenShift Serverless Operator。

  3. 查看有关 Operator 的信息,然后单击**Install**。

  4. 在**Install Operator** 页面上

    1. **安装模式**为**集群上的所有命名空间(默认)**。此模式将在默认的 `openshift-serverless` 命名空间中安装 Operator,以监视并使其可用于集群中的所有命名空间。

    2. **已安装命名空间**为 `openshift-serverless`。

    3. 选择一个**更新通道**。

      • **stable** 通道允许安装 OpenShift Serverless Operator 的最新稳定版本。**stable** 通道是默认通道。

      • 要安装其他版本,请指定相应的 **stable-x.y** 通道,例如 **stable-1.29**。

    4. 选择 **stable** 通道作为**更新通道**。**stable** 通道将允许安装 OpenShift Serverless Operator 的最新稳定版本。

    5. 选择**自动**或**手动**审批策略。

  5. 单击**Install** 以使 Operator 可用于此 OpenShift Container Platform 集群上的选定命名空间。

  6. 从**Catalog** → **Operator Management** 页面,您可以监控 OpenShift Serverless Operator 订阅的安装和升级进度。

    1. 如果您选择了手动审批策略,订阅的升级状态将保持为升级中,直到您查看并批准其安装计划。在安装计划页面上批准后,订阅升级状态将变为最新

    2. 如果您选择了自动审批策略,升级状态应在无需干预的情况下变为最新

验证

订阅的升级状态为最新后,选择目录已安装的 Operators 以验证 OpenShift Serverless Operator 最终是否显示,以及其状态最终在相关命名空间中是否变为InstallSucceeded

如果未显示

  1. 切换到目录Operator 管理页面,并检查Operator 订阅安装计划选项卡中状态下是否存在任何故障或错误。

  2. 工作负载Pod 页面上检查openshift-serverless项目中报告问题的任何 Pod 的日志,以进行进一步的故障排除。

如果您想使用 Red Hat OpenShift 分布式追踪与 OpenShift Serverless 配合使用,则必须在安装 Knative Serving 或 Knative Eventing 之前安装并配置 Red Hat OpenShift 分布式追踪。

从 CLI 安装 OpenShift Serverless Operator

您可以使用 CLI 从 OperatorHub 安装 OpenShift Serverless Operator。安装此 Operator 使您可以安装和使用 Knative 组件。

先决条件
  • 您在 OpenShift Container Platform 上拥有集群管理员权限,或者您在 Red Hat OpenShift Service on AWS 或 OpenShift Dedicated 上拥有集群或专用管理员权限。

  • 对于 OpenShift Container Platform,您的集群已启用 Marketplace 功能或手动配置了 Red Hat Operator 目录源。

  • 您已登录到集群。

步骤
  1. 创建一个包含NamespaceOperatorGroupSubscription对象的 YAML 文件,以将命名空间订阅到 OpenShift Serverless Operator。例如,创建包含以下内容的文件serverless-subscription.yaml

    订阅示例
    ---
    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-serverless
    ---
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: serverless-operators
      namespace: openshift-serverless
    spec: {}
    ---
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: serverless-operator
      namespace: openshift-serverless
    spec:
      channel: stable (1)
      name: serverless-operator (2)
      source: redhat-operators (3)
      sourceNamespace: openshift-marketplace (4)
    1 Operator 的通道名称。stable通道启用安装 OpenShift Serverless Operator 的最新稳定版本。要安装其他版本,请指定相应的stable-x.y通道,例如stable-1.29
    2 要订阅的 Operator 的名称。对于 OpenShift Serverless Operator,这始终是serverless-operator
    3 提供 Operator 的 CatalogSource 的名称。对于默认的 OperatorHub 目录源,请使用redhat-operators
    4 CatalogSource 的命名空间。对于默认的 OperatorHub 目录源,请使用openshift-marketplace
  2. 创建Subscription对象

    $ oc apply -f serverless-subscription.yaml
验证

检查集群服务版本 (CSV) 是否已达到Succeeded阶段

命令示例
$ oc get csv
输出示例
NAME                          DISPLAY                        VERSION   REPLACES                      PHASE
serverless-operator.v1.25.0   Red Hat OpenShift Serverless   1.25.0    serverless-operator.v1.24.0   Succeeded

如果您想使用 Red Hat OpenShift 分布式追踪与 OpenShift Serverless 配合使用,则必须在安装 Knative Serving 或 Knative Eventing 之前安装并配置 Red Hat OpenShift 分布式追踪。

全局配置

OpenShift Serverless Operator 管理 Knative 安装的全局配置,包括将KnativeServingKnativeEventing自定义资源中的值传播到系统配置映射。手动应用的任何配置映射更新都会被 Operator 覆盖。但是,修改 Knative 自定义资源允许您为这些配置映射设置值。

Knative 有多个配置映射,其名称以config-为前缀。所有 Knative 配置映射都与其应用的自定义资源位于相同的命名空间中。例如,如果KnativeServing自定义资源在knative-serving命名空间中创建,则所有 Knative Serving 配置映射也都在此命名空间中创建。

Knative 自定义资源中的spec.config为每个配置映射包含一个<name>条目,命名为config-<name>,其值为 config map 的data

后续步骤