8.2. 配置 SR-IOV Network Operator

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

8.2.1. 安装 SR-IOV Network Operator

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

8.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
      labels:
        openshift.io/run-level: "1"
    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.4.0-202006160135   Succeeded

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

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

注意

您必须使用 CLI 创建 OperatorGroup CR。

先决条件

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

流程

  1. 为 SR-IOV Network Operator 创建一个命名空间:

    1. 在 OpenShift Container Platform web 控制台中,点 AdministrationNamespaces
    2. Create Namespace
    3. Name 字段中输入 openshift-sriov-network-operator,然后点击 Create
    4. Filter by name 字段中输入 openshift-sriov-network-operator
    5. 在结果列表中,点 openshift-sriov-network-operator,然后点 YAML
    6. 通过在命名空间定义中添加以下小节来更新命名空间:

        labels:
          openshift.io/run-level: "1"
    7. Save
  2. 安装 SR-IOV Network Operator:

    1. 在 OpenShift Container Platform Web 控制台中,点击 OperatorsOperatorHub
    2. 从可用的 Operators 列表中选择 SR-IOV Network Operator,然后点击 Install
    3. Create Operator Subscription 页面中,在集群的一个特定的命名空间中 选择openshift-sriov-network-operator
    4. Subscribe.
  3. 验证 SR-IOV Network Operator 是否已成功安装:

    1. 导航到 OperatorsInstalled Operators 页面。
    2. 确保 SR-IOV Network Operatoropenshift-sriov-network-operator 项目中列出,状态InstallSucceeded

      注意

      在安装过程中,Operator 可能会显示 Failed 状态。如果安装过程结束后有 InstallSucceeded 信息,您可以忽略这个 Failed 信息。

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

      • 检查 Operator SubscriptionsInstall Plans 选项卡中的 Status 项中是否有任何错误。
      • 进入 WorkloadsPods 页面,在 openshift-sriov-network-operator 项目中检查 Pod 的日志。

8.2.2. 后续步骤