第 3 章 安装

3.1. 安装 OpenShift Serverless Operator

安装 OpenShift Serverless Operator 后,您就可以在 OpenShift Container Platform 集群中安装和使用 Knative Serving、Knative Eventing 和 Knative Kafka。OpenShift Serverless Operator 管理集群的 Knative 自定义资源定义 (CRD) ,并可让您在不直接为每个组件修改单个配置映射的情况下配置它们。

3.1.1. 开始前

在安装 OpenShift Serverless 前,请阅读以下有关支持的配置和先决条件的信息。

  • OpenShift Serverless 支持在受限网络环境中安装。
  • OpenShift Serverless 目前无法在单个集群的多租户配置中使用。

3.1.1.1. 定义集群大小要求

要安装和使用 OpenShift Serverless,OpenShift Container Platform 集群必须正确定义大小。

注意

以下要求仅与 OpenShift Container Platform 集群的 worker 机器池相关。control plane 节点不用于常规调度,它不在要求中。

使用 OpenShift Serverless 的最低要求是集群有 10 个 CPU 和 40GB 内存。默认情况下,每个 Pod 需要大约 400m 的 CPU,最下的要求基于此值。

运行 OpenShift Serverless 的总大小要求取决于安装的组件以及部署的应用程序,并因部署的不同而有所不同。

3.1.1.2. 使用机器集扩展集群

您可以使用 OpenShift Container Platform MachineSet API 手动将集群扩展至所需大小。最低要求通常意味着,您需要将一个默认机器集进行扩展,增加两个额外的机器。请参阅手动扩展机器集

3.1.2. 通过 Web 控制台安装 OpenShift Serverless Operator

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

先决条件

  • 您可以访问具有集群管理员权限的 OpenShift Container Platform 帐户。
  • 已登陆到 OpenShift Container Platform Web 控制台。

流程

  1. 在 OpenShift Container Platform web 控制台中进入到 OperatorsOperatorHub 页。
  2. 滚动页面,或在 Filter by keyword 框中输入关键字 Serverless 来查找 OpenShift Serverless Operator。
  3. 查看 Operator 信息并单击 Install
  4. Install Operator 页面中:

    1. Installation ModeAll namespaces on the cluster (default) 。此模式将 Operator 安装至默认 openshift-serverless 命名空间,以便供集群中的所有命名空间监视和使用。
    2. 安装的命名空间openshift-serverless
    3. 选择 stable 频道作为 更新频道stable 频道将启用 OpenShift Serverless Operator 最新稳定版本的安装。
    4. 选择 AutomaticManual 批准策略。
  5. Install 使 Operator 可供 OpenShift Container Platform 集群上的所选命名空间使用。
  6. CatalogOperator Management 页面中,您可以监控 OpenShift Serverless Operator 订阅的安装和升级进度。

    1. 如果选择了 Manual 批准策略,订阅的升级状态将会一直保持在 Upgrading,直到您审阅并批准了它的安装计划。在 Install Plan 页面批准后,订阅的升级状态将变为 Up to date
    2. 如果选择了 Automatic 批准策略,升级状态会在不用人工参与的情况下变为 Up to date

验证

当订阅的升级状态变为Up to date 后,选择 CatalogInstalled Operators 来验证 OpenShift Serverless Operator 最终出现,它的 Status 在相关的命名空间中最终会变为 InstallSucceeded

如果没有:

  1. 切换到 CatalogOperator Management 页,检查 Operator SubscriptionsInstall Plans 页中的 Status 是否有错误。
  2. 检查 WorkloadsPods 页中提供的关于openshift-serverless 项目中的 pod 的日志信息,以便进一步排除故障。
重要

如果要在 OpenShift Serverless 中使用 Red Hat OpenShift distributed tracing,则必须在安装 Knative Serving 或 Knative Eventing 前安装和配置 Red Hat OpenShift distributed tracing。

3.1.3. 通过 CLI 安装 OpenShift Serverless Operator

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

先决条件

  • 您可以访问具有集群管理员权限的 OpenShift Container Platform 帐户。
  • 您的集群启用了 Marketplace 功能,或者手动配置 Red Hat Operator 目录源。
  • 已登陆到 OpenShift Container Platform 集群。

流程

  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 最新稳定版本的安装。
    2
    要订阅的 Operator 的名称。对于 OpenShift Serverless Operator,这始终为 serverless-operator
    3
    提供 Operator 的 CatalogSource 的名称。将 redhat-operators 用于默认的 OperatorHub 目录源。
    4
    CatalogSource 的命名空间。将 openshift-marketplace 用于默认的 OperatorHub 目录源。
  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

重要

如果要在 OpenShift Serverless 中使用 Red Hat OpenShift distributed tracing,则必须在安装 Knative Serving 或 Knative Eventing 前安装和配置 Red Hat OpenShift distributed tracing。

3.1.4. 其他资源

3.1.5. 后续步骤