24.2. 安装 SR-IOV Network Operator

您可以在集群上安装单根 I/O 虚拟化(SR-IOV)网络 Operator,以管理 SR-IOV 网络设备和网络附加。

24.2.1. 安装 SR-IOV Network Operator

作为集群管理员,您可以使用 OpenShift Container Platform CLI 或 web 控制台安装 SR-IOV Network Operator。

24.2.1.1. CLI:安装 SR-IOV Network Operator

作为集群管理员,您可以使用 CLI 安装 Operator。

先决条件

  • 在裸机环境中安装的集群,其中的节点带有支持 SR-IOV 的硬件。
  • 安装 OpenShift CLI (oc) 。
  • 具有 cluster-admin 权限的帐户。

流程

  1. 运行以下命令来创建 openshift-sriov-network-operator 命名空间:

    $ cat << EOF| oc create -f -
    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-sriov-network-operator
      annotations:
        workload.openshift.io/allowed: management
    EOF
  2. 运行以下命令来创建 OperatorGroup CR:

    $ cat << EOF| oc create -f -
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: sriov-network-operators
      namespace: openshift-sriov-network-operator
    spec:
      targetNamespaces:
      - openshift-sriov-network-operator
    EOF
  3. 订阅 SR-IOV Network Operator。

    1. 运行以下命令以获取 OpenShift Container Platform 的主版本和次版本。下一步中需要 channel 值。

      $ OC_VERSION=$(oc version -o yaml | grep openshiftVersion | \
          grep -o '[0-9]*[.][0-9]*' | head -1)
    2. 要为 SR-IOV Network Operator 创建 Subscription CR,输入以下命令:

      $ cat << EOF| oc create -f -
      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: sriov-network-operator-subscription
        namespace: openshift-sriov-network-operator
      spec:
        channel: "${OC_VERSION}"
        name: sriov-network-operator
        source: redhat-operators
        sourceNamespace: openshift-marketplace
      EOF
  4. 要验证是否已安装 Operator,请输入以下命令:

    $ oc get csv -n openshift-sriov-network-operator \
      -o custom-columns=Name:.metadata.name,Phase:.status.phase

    输出示例

    Name                                         Phase
    sriov-network-operator.4.12.0-202310121402   Succeeded

24.2.1.2. web 控制台:安装 SR-IOV Network Operator

作为集群管理员,您可以使用 Web 控制台安装 Operator。

先决条件

  • 在裸机环境中安装的集群,其中的节点带有支持 SR-IOV 的硬件。
  • 安装 OpenShift CLI (oc) 。
  • 具有 cluster-admin 权限的帐户。

流程

  1. 安装 SR-IOV Network Operator:

    1. 在 OpenShift Container Platform Web 控制台中,点 OperatorsOperatorHub
    2. 从可用的 Operator 列表中选择 SR-IOV Network Operator,然后点 Install
    3. Install Operator 页面中,在 Installed Namespace 下选择 Operator recommended Namespace
    4. Install
  2. 验证 SR-IOV Network Operator 是否已成功安装:

    1. 进入到 OperatorsInstalled Operators 页面。
    2. 确保 SR-IOV Network Operatoropenshift-sriov-network-operator 项目中列出,StatusInstallSucceeded

      注意

      在安装过程中,Operator 可能会显示 Failed 状态。如果以后安装成功并显示 InstallSucceeded 信息,您可以忽略 Failed 信息。

      如果 Operator 没有被成功安装,请按照以下步骤进行故障排除:

      • 检查 Operator SubscriptionsInstall Plans 选项卡中的 Status 项中是否有任何错误。
      • 进入到 WorkloadsPods 页面,在 openshift-sriov-network-operator 项目中检查 pod 的日志。
      • 检查 YAML 文件的命名空间。如果缺少注解,您可以使用以下命令将注解 workload.openshift.io/allowed=management 添加到 Operator 命名空间中:

        $ oc annotate ns/openshift-sriov-network-operator workload.openshift.io/allowed=management
        注意

        对于单节点 OpenShift 集群,命名空间需要注解 workload.openshift.io/allowed=management

24.2.2. 后续步骤