2.8.2. RHOSP 上の SR-IOV を使用するコンピュートマシンセットのカスタムリソースのサンプル YAML


高性能ネットワーク用のシングルルート I/O 仮想化 (SR-IOV) を使用してコンピュート仮想マシン (VM) をプロビジョニングするには、providerSpec で SR-IOV ポートを直接定義し、portSecurity を False に設定します。

クラスターをシングルルート SR-IOV 用に設定した場合、そのテクノロジーを使用するコンピュートマシンセットを作成できます。

このサンプル YAML は SR-IOV ネットワークを使用するコンピュートマシンセットを定義します。作成するノードには node-role.openshift.io/<node_role>: "" というラベルが付けられます。

このサンプルでは、infrastructure_id はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID ラベルであり、node_role は追加するノードラベルです。

この例では、"radio" と "uplink" という名前の 2 つの SR-IOV ネットワークを想定しています。これらのネットワークは、spec.template.spec.providerSpec.value.ports リストのポート定義で使用されます。

注記

この例では、SR-IOV デプロイメント固有のパラメーターのみを説明します。より一般的なサンプルを確認するには、「RHOSP 上のコンピュートマシンセットのカスタムリソースのサンプル YAML」を参照してください。

SR-IOV ネットワークを使用するコンピュートマシンセットの例

apiVersion: machine.openshift.io/v1beta1
kind: MachineSet
metadata:
  labels:
    machine.openshift.io/cluster-api-cluster: <infrastructure_id>
    machine.openshift.io/cluster-api-machine-role: <node_role>
    machine.openshift.io/cluster-api-machine-type: <node_role>
  name: <infrastructure_id>-<node_role>
  namespace: openshift-machine-api
spec:
  replicas: <number_of_replicas>
  selector:
    matchLabels:
      machine.openshift.io/cluster-api-cluster: <infrastructure_id>
      machine.openshift.io/cluster-api-machineset: <infrastructure_id>-<node_role>
  template:
    metadata:
      labels:
        machine.openshift.io/cluster-api-cluster: <infrastructure_id>
        machine.openshift.io/cluster-api-machine-role: <node_role>
        machine.openshift.io/cluster-api-machine-type: <node_role>
        machine.openshift.io/cluster-api-machineset: <infrastructure_id>-<node_role>
    spec:
      metadata:
      providerSpec:
        value:
          apiVersion: machine.openshift.io/v1alpha1
          cloudName: openstack
          cloudsSecret:
            name: openstack-cloud-credentials
            namespace: openshift-machine-api
          flavor: <nova_flavor>
          image: <glance_image_name_or_location>
          serverGroupID: <optional_UUID_of_server_group>
          kind: OpenstackProviderSpec
          networks:
            - subnets:
              - UUID: <machines_subnet_UUID>
          ports:
            - networkID: <radio_network_UUID>
              nameSuffix: radio
              fixedIPs:
                - subnetID: <radio_subnet_UUID>
              tags:
                - sriov
                - radio
              vnicType: direct
              portSecurity: false
            - networkID: <uplink_network_UUID>
              nameSuffix: uplink
              fixedIPs:
                - subnetID: <uplink_subnet_UUID>
              tags:
                - sriov
                - uplink
              vnicType: direct
              portSecurity: false
          primarySubnet: <machines_subnet_UUID>
          securityGroups:
          - filter: {}
            name: <infrastructure_id>-<node_role>
          serverMetadata:
            Name: <infrastructure_id>-<node_role>
            openshiftClusterID: <infrastructure_id>
          tags:
          - openshiftClusterID=<infrastructure_id>
          trunk: true
          userDataSecret:
            name: <node_role>-user-data
          availabilityZone: <optional_openstack_availability_zone>
          configDrive: true

ここでは、以下のようになります。

<radio_network_UUID>
各ポートのネットワーク UUID を指定します。
<radio_subnet_UUID>
各ポートのサブネット UUID を指定します。
注記

spec.template.spec.providerSpec.value.ports.vnicType パラメーターの値は、各ポートに対して 直接指定する 必要があります。

spec.template.spec.providerSpec.value.ports.portSecurity パラメーターの値は、各ポートに対して false で ある必要があります。ポートセキュリティーが無効な場合は、ポートにセキュリティーグループと使用可能なアドレスペアを設定できません。インスタンスにセキュリティーグループを設定すると、グループが割り当てられているすべてのポートに適用されます。

< アップリンクネットワーク UUID>
各ポートのネットワーク UUID を指定します。
<uplink_subnet_UUID>
各ポートのサブネット UUID を指定します。
注記

spec.template.spec.providerSpec.value.configDrive パラメーターの値は true でなければなりません。

重要

SR-IOV 対応のコンピュートマシンをデプロイしたら、そのようにラベルを付ける必要があります。たとえば、コマンドラインから次のように入力します。

$ oc label node <NODE_NAME> feature.node.kubernetes.io/network-sriov.capable="true"
注記

トランクは、ネットワークおよびサブネットの一覧のエントリーで作成されるポート向けに有効にされます。これらのリストから作成されたポートの名前は、<machine_name>-<nameSuffix> パターンを使用します。nameSuffix フィールドは、ポート定義に必要です。

それぞれのポートにトランキングを有効にすることができます。

オプションで、タグを タグ 一覧の一部としてポートに追加できます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る