This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.2.7. OpenStack でのマシンセットの作成
異なるマシンセットを作成して、Red Hat OpenStack Platform (RHOSP) 上の OpenShift Container Platform クラスターで特定の目的で使用できます。たとえば、インフラストラクチャーマシンセットおよび関連マシンを作成して、サポートするワークロードを新しいマシンに移動できます。
高度なマシン管理およびスケーリング機能は、マシン API が機能しているクラスターでのみ使用することができます。ユーザーがプロビジョニングしたインフラストラクチャーを持つクラスターでは、マシン API を使用するために追加の検証と設定が必要です。
					インフラストラクチャープラットフォームタイプが none のクラスターは、マシン API を使用できません。この制限は、クラスターに接続されている計算マシンが、この機能をサポートするプラットフォームにインストールされている場合でも適用されます。このパラメーターは、インストール後に変更することはできません。
				
クラスターのプラットフォームタイプを表示するには、以下のコマンドを実行します。
oc get infrastructure cluster -o jsonpath='{.status.platform}'
$ oc get infrastructure cluster -o jsonpath='{.status.platform}'
2.7.1. RHOSP 上のマシンセットのカスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
					このサンプル YAML は、Red Hat OpenStack Platform (RHOSP) で実行され、node-role.kubernetes.io/<role>: "" というラベルが付けられたノードを作成するマシンセットを定義します。
				
					このサンプルでは、<infrastructure_id> はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、<role> は追加するノードラベルです。
				
- 1 5 7 13 15 16 17 18
 - クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow  - 2 3 8 9 19
 - 追加するノードラベルを指定します。
 - 4 6 10
 - インフラストラクチャー ID およびノードラベルを指定します。
 - 11
 - MachineSet のサーバーグループポリシーを設定するには、サーバーグループの作成 から返された値を入力します。ほとんどのデプロイメントでは、
anti-affinityまたはsoft-anti-affinityが推奨されます。 - 12
 - 複数ネットワークへのデプロイメントに必要です。複数のネットワークを指定するには、ネットワークアレイに別のエントリーを追加します。また、
primarySubnetの値として使用されるネットワークが含まれる必要があります。 - 14
 - ノードのエンドポイントを公開する RHOSP サブネットを指定します。通常、これは
install-config.yamlファイルのmachinesSubnetの値として使用される同じサブネットです。 
2.7.2. RHOSP 上の SR-IOV を使用するマシンセットのカスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
クラスターを SR-IOV (Single-root I/O Virtualization) 用に設定している場合に、その技術を使用するマシンセットを作成できます。
					このサンプル 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 ネットワークを使用するマシンセットの例
- 1 5
 - 各ポートにネットワークの UUID を入力します。
 - 2 6
 - 各ポートのサブネット UUID を入力します。
 - 3 7
 vnicTypeパラメーターの値は、各ポートに直接指定する必要があります。- 4 8
 portSecurityパラメーターの値は、各ポートでfalseである必要があります。ポートセキュリティーが無効な場合は、ポートにセキュリティーグループと使用可能なアドレスペアを設定できません。インスタンスにセキュリティーグループを設定すると、グループが割り当てられているすべてのポートに適用されます。
- 9
 configDriveパラメーターの値はtrueである必要があります。
						トランクは、ネットワークおよびサブネットの一覧のエントリーで作成されるポート向けに有効にされます。これらの一覧から作成されたポートの名前は、<machine_name>-<nameSuffix> パターンを使用します。nameSuffix フィールドは、ポート定義に必要です。
					
それぞれのポートにトランキングを有効にすることができます。
						オプションで、タグを タグ 一覧の一部としてポートに追加できます。
					
2.7.3. ポートセキュリティーが無効にされている SR-IOV デプロイメントのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
					ポートセキュリティーが無効にされたネットワークに single-root I/O Virtualization (SR-IOV) ポートを作成するには、spec.template.spec.providerSpec.value.ports 一覧の項目としてポートを含めてマシンセットを定義します。標準の SR-IOV マシンセットとのこの相違点は、ネットワークとサブネットインターフェイスを使用して作成されたポートに対して発生する自動セキュリティーグループと使用可能なアドレスペア設定によるものです。
				
マシンのサブネット用に定義するポートには、以下が必要です。
- API および Ingress 仮想 IP ポート用に許可されるアドレスペア
 - コンピュートセキュリティーグループ
 - マシンネットワークおよびサブネットへの割り当て
 
以下の例のように、ポートセキュリティーが無効になっている SR-IOV デプロイメント固有のパラメーターのみを説明します。より一般的なサンプルを確認するには、RHOSP 上の SR-IOV を使用するマシンセットカスタムリソースのサンプル YAML について参照してください。
SR-IOV ネットワークを使用し、ポートセキュリティーが無効にされているマシンセットの例
						トランクは、ネットワークおよびサブネットの一覧のエントリーで作成されるポート向けに有効にされます。これらの一覧から作成されたポートの名前は、<machine_name>-<nameSuffix> パターンを使用します。nameSuffix フィールドは、ポート定義に必要です。
					
それぞれのポートにトランキングを有効にすることができます。
						オプションで、タグを タグ 一覧の一部としてポートに追加できます。
					
クラスターで Kuryr を使用し、RHOSP SR-IOV ネットワークでポートセキュリティーが無効にされている場合に、コンピュートマシンのプライマリーポートには以下が必要になります。
- 
							
spec.template.spec.providerSpec.value.networks.portSecurityEnabledパラメーターの値をfalseに設定します。 - 
							各サブネットについて、
spec.template.spec.providerSpec.value.networks.subnets.portSecurityEnabledパラメーターの値をfalseに設定します。 - 
							
spec.template.spec.providerSpec.value.securityGroupsの値は、空:[]に指定します。 
SR-IOV を使用し、ポートセキュリティーが無効な Kuryr にあるクラスターのマシンセットのセクション例
今回の場合は、仮想マシンの作成後にコンピュートセキュリティーグループをプライマリー仮想マシンインターフェイスに適用できます。たとえば、コマンドラインでは、以下を実行します。
openstack port set --enable-port-security --security-group <infrastructure_id>-<node_role> <main_port_ID>
$ openstack port set --enable-port-security --security-group <infrastructure_id>-<node_role> <main_port_ID>
2.7.4. マシンセットの作成 リンクのコピーリンクがクリップボードにコピーされました!
インストールプログラムによって作成されるコンピュートセットセットに加えて、独自のマシンセットを作成して、選択した特定のワークロードのマシンコンピューティングリソースを動的に管理できます。
前提条件
- OpenShift Container Platform クラスターをデプロイすること。
 - 
							OpenShift CLI (
oc) がインストールされている。 - 
							
cluster-adminパーミッションを持つユーザーとして、ocにログインする。 
手順
説明されているようにマシンセット カスタムリソース (CR) サンプルを含む新規 YAML ファイルを作成し、そのファイルに
<file_name>.yamlという名前を付けます。<clusterID>および<role>パラメーターの値を設定していることを確認します。オプション: 特定のフィールドに設定する値がわからない場合は、クラスターから既存のコンピュートマシンセットを確認できます。
クラスター内のコンピュートマシンセットをリスト表示するには、次のコマンドを実行します。
oc get machinesets -n openshift-machine-api
$ oc get machinesets -n openshift-machine-apiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のコンピュートマシンセットカスタムリソース(CR)の値を表示するには、以下のコマンドを実行します。
oc get machineset <machineset_name> \ -n openshift-machine-api -o yaml
$ oc get machineset <machineset_name> \ -n openshift-machine-api -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
次のコマンドを実行して
MachineSetCR を作成します。oc create -f <file_name>.yaml
$ oc create -f <file_name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
検証
次のコマンドを実行して、コンピュートマシンセットのリストを表示します。
oc get machineset -n openshift-machine-api
$ oc get machineset -n openshift-machine-apiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新規のマシンセットが利用可能な場合、
DESIREDおよびCURRENTの値は一致します。マシンセットが利用可能でない場合、数分待機してからコマンドを再度実行します。