×

安装网络 Operators

配置 Linux 桥接网络

安装 Kubernetes NMState Operator 后,您可以为实时迁移或虚拟机 (VM) 的外部访问配置 Linux 桥接网络。

创建 Linux 桥接 NNCP

您可以为 Linux 桥接网络创建NodeNetworkConfigurationPolicy (NNCP) 清单。

先决条件
  • 您已安装 Kubernetes NMState Operator。

步骤
  • 创建NodeNetworkConfigurationPolicy 清单。此示例包含您必须替换为自身信息的示例值。

    apiVersion: nmstate.io/v1
    kind: NodeNetworkConfigurationPolicy
    metadata:
      name: br1-eth1-policy (1)
    spec:
      desiredState:
        interfaces:
          - name: br1 (2)
            description: Linux bridge with eth1 as a port (3)
            type: linux-bridge (4)
            state: up (5)
            ipv4:
              enabled: false (6)
            bridge:
              options:
                stp:
                  enabled: false (7)
              port:
                - name: eth1 (8)
    1 策略名称。
    2 接口名称。
    3 可选:接口的可读描述。
    4 接口类型。此示例创建一个桥接。
    5 创建后接口的请求状态。
    6 在此示例中禁用 IPv4。
    7 在此示例中禁用 STP。
    8 连接桥接的节点网卡。

使用 Web 控制台创建 Linux 桥接 NAD

您可以使用 Red Hat OpenShift Service on AWS Web 控制台创建网络附件定义 (NAD),以便为 Pod 和虚拟机提供第 2 层网络。

Linux 桥接网络附件定义是将虚拟机连接到 VLAN 的最有效方法。

不支持在虚拟机的网络附件定义中配置 IP 地址管理 (IPAM)。

步骤
  1. 在 Web 控制台中,单击**网络** → **NetworkAttachmentDefinitions**。

  2. 单击**创建网络附件定义**。

    网络附件定义必须与 Pod 或虚拟机位于相同的命名空间中。

  3. 输入唯一的**名称**和可选的**描述**。

  4. 从**网络类型**列表中选择**CNV Linux 桥接**。

  5. 在**桥接名称**字段中输入桥接的名称。

  6. 可选:如果资源已配置 VLAN ID,请在**VLAN 标记编号**字段中输入 ID 编号。

  7. 可选:选择**MAC 欺骗检查**以启用 MAC 欺骗过滤。此功能通过仅允许单个 MAC 地址离开 Pod 来提供针对 MAC 欺骗攻击的安全性。

  8. 单击**创建**。

为实时迁移配置网络

配置 Linux 桥接网络后,您可以为实时迁移配置专用网络。专用网络可最大限度地减少实时迁移期间网络饱和对租户工作负载的影响。

为实时迁移配置专用辅助网络

要为实时迁移配置专用辅助网络,您必须首先使用 CLI 创建桥接网络附件定义 (NAD)。然后,您将NetworkAttachmentDefinition对象的名称添加到HyperConverged自定义资源 (CR)。

先决条件
  • 您已安装 OpenShift CLI (oc)。

  • 您已以具有cluster-admin角色的用户身份登录到集群。

  • 每个节点至少有两个网络接口卡 (NIC)。

  • 用于实时迁移的 NIC 连接到相同的 VLAN。

步骤
  1. 根据以下示例创建NetworkAttachmentDefinition清单

    示例配置文件
    apiVersion: "k8s.cni.cncf.io/v1"
    kind: NetworkAttachmentDefinition
    metadata:
      name: my-secondary-network (1)
      namespace: openshift-cnv
    spec:
      config: '{
        "cniVersion": "0.3.1",
        "name": "migration-bridge",
        "type": "macvlan",
        "master": "eth1", (2)
        "mode": "bridge",
        "ipam": {
          "type": "whereabouts", (3)
          "range": "10.200.5.0/24" (4)
        }
      }'
    1 指定NetworkAttachmentDefinition对象的名称。
    2 指定要用于实时迁移的 NIC 的名称。
    3 指定提供 NAD 网络的 CNI 插件的名称。
    4 为辅助网络指定 IP 地址范围。此范围不得与主网络的 IP 地址重叠。
  2. 通过运行以下命令在默认编辑器中打开HyperConverged CR

    oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
  3. NetworkAttachmentDefinition对象的名称添加到HyperConverged CR 的spec.liveMigrationConfig节中

    示例HyperConverged清单
    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
    spec:
      liveMigrationConfig:
        completionTimeoutPerGiB: 800
        network: <network> (1)
        parallelMigrationsPerCluster: 5
        parallelOutboundMigrationsPerNode: 2
        progressTimeout: 150
    # ...
    1 指定要用于实时迁移的 MultusNetworkAttachmentDefinition对象的名称。
  4. 保存更改并退出编辑器。virt-handler Pod 将重新启动并连接到辅助网络。

验证
  • 当运行虚拟机的节点进入维护模式时,VM 会自动迁移到集群中的另一个节点。您可以通过检查虚拟机实例 (VMI) 元数据中的目标 IP 地址来验证迁移是否通过辅助网络而不是默认 Pod 网络进行。

    $ oc get vmi <vmi_name> -o jsonpath='{.status.migrationState.targetNodeAddress}'

使用 Web 控制台选择专用网络

您可以使用 Red Hat OpenShift Service on AWS Web 控制台为实时迁移选择专用网络。

先决条件
  • 您已为实时迁移配置了 Multus 网络。

  • 您已为网络创建了网络附件定义。

步骤
  1. 在 Red Hat OpenShift Service on AWS Web 控制台中导航到**虚拟化 > 概述**。

  2. 单击**设置**选项卡,然后单击**实时迁移**。

  3. 从**实时迁移网络**列表中选择网络。

使用 Web 控制台启用负载均衡器服务的创建

您可以使用 Red Hat OpenShift Service on AWS Web 控制台为虚拟机 (VM) 启用负载均衡器服务的创建。

先决条件
  • 您已为集群配置了负载均衡器。

  • 您已以具有cluster-admin角色的用户身份登录。

  • 您已为网络创建了网络附件定义。

步骤
  1. 导航到**虚拟化** → **概述**。

  2. 在**设置**选项卡上,单击**集群**。

  3. 展开**常规设置**和**SSH 配置**。

  4. 将**通过负载均衡器服务的 SSH**设置为开启。