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.2. AWS でのマシンセットの作成
Amazon Web Services (AWS) で OpenShift Container Platform クラスターの特定の目的を果たすように異なるマシンセットを作成することができます。たとえば、インフラストラクチャーマシンセットおよび関連マシンを作成して、サポートするワークロードを新しいマシンに移動できます。
高度なマシン管理およびスケーリング機能は、マシン API が機能しているクラスターでのみ使用することができます。ユーザーがプロビジョニングしたインフラストラクチャーを持つクラスターでは、マシン API を使用するために追加の検証と設定が必要です。
					インフラストラクチャープラットフォームタイプが none のクラスターは、マシン API を使用できません。この制限は、クラスターに接続されている計算マシンが、この機能をサポートするプラットフォームにインストールされている場合でも適用されます。このパラメーターは、インストール後に変更することはできません。
				
クラスターのプラットフォームタイプを表示するには、以下のコマンドを実行します。
oc get infrastructure cluster -o jsonpath='{.status.platform}'
$ oc get infrastructure cluster -o jsonpath='{.status.platform}'2.2.1. AWS 上のマシンセットカスタムリソースのサンプル YAML
					このサンプル YAML は us-east-1a Amazon Web Services (AWS) ゾーンで実行され、node-role.kubernetes.io/<role>:"" というラベルが付けられたノードを作成するマシンセットを定義します。
				
					このサンプルでは、<infrastructure_id> はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、<role> は追加するノードラベルです。
				
- 1 3 5 11 14 16
- クラスターのプロビジョニング時に設定したクラスター 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 4 8
- インフラストラクチャー ID、ノードラベル、およびゾーンを指定します。
- 6 7 9
- 追加するノードラベルを指定します。
- 10
- OpenShift Container Platform ノードの AWS ゾーンに有効な Red Hat Enterprise Linux CoreOS (RHCOS) AMI を指定します。AWS Marketplace イメージを使用する場合は、AWS Marketplace から OpenShift Container Platform サブスクリプションを完了して、リージョンの AMI ID を取得する必要があります。
- 12
- ゾーン (例:us-east-1a) を指定します。
- 13
- リージョン (例:us-east-1) を指定します。
- 15
- インフラストラクチャー ID とゾーンを指定します。
2.2.2. マシンセットの作成
インストールプログラムによって作成されるコンピュートセットセットに加えて、独自のマシンセットを作成して、選択した特定のワークロードのマシンコンピューティングリソースを動的に管理できます。
前提条件
- 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-api- Copy 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 yaml- Copy 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>.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 他のアベイラビリティーゾーンでコンピュートマシンセットが必要な場合、このプロセスを繰り返して追加のコンピュートマシンセットを作成します。
検証
- 次のコマンドを実行して、コンピュートマシンセットのリストを表示します。 - oc get machineset -n openshift-machine-api - $ oc get machineset -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 新規のマシンセットが利用可能な場合、 - DESIREDおよび- CURRENTの値は一致します。マシンセットが利用可能でない場合、数分待機してからコマンドを再度実行します。
2.2.3. マシンを Spot インスタンスとしてデプロイするマシンセット
マシンを保証されていない Spot インスタンスとしてデプロイする AWS で実行されるマシンセットを作成して、コストを節約できます。Spot インスタンスは未使用の AWS EC2 容量を使用し、On-Demand インスタンスよりもコストが低くなります。Spot インスタンスは、バッチやステートレス、水平的に拡張可能なワークロードなどの割り込みを許容できるワークロードに使用することができます。
AWS EC2 は Spot インスタンスをいつでも終了できます。AWS は、中断の発生時にユーザーに警告を 2 分間表示します。OpenShift Container Platform は、AWS が終了についての警告を発行する際に影響を受けるインスタンスからワークロードを削除し始めます。
以下の理由により、Spot インスタンスを使用すると中断が生じる可能性があります。
- インスタンス価格は最大価格を超えます。
- Spot インスタンスの需要は増大します。
- Spot インスタンスの供給は減少します。
					AWS がインスタンスを終了すると、Spot インスタンスノードで実行される終了ハンドラーによりマシンリソースが削除されます。マシンセットの replicas の量を満たすために、マシンセットは Spot インスタンスを要求するマシンを作成します。
				
2.2.4. マシンセットの使用による Spot インスタンスの作成
					spotMarketOptions をマシンセットの YAML ファイルに追加して、AWS で Spot インスタンスを起動できます。
				
手順
- providerSpecフィールドの下に以下の行を追加します。- providerSpec: value: spotMarketOptions: {}- providerSpec: value: spotMarketOptions: {}- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - オプションで、Spot インスタンスのコストを制限するために、 - spotMarketOptions.maxPriceフィールドを設定できます。たとえば、- maxPrice: '2.50'を設定できます。- maxPriceが設定されている場合、この値は毎時の最大 Spot 価格として使用されます。これを設定しないと、デフォルトで最大価格として On-Demand インスタンス価格までチャージされます。注記- デフォルトの On-Demand 価格を - maxPrice値として使用し、Spot インスタンスの最大価格を設定しないことが強く推奨されます。
2.2.5. マシンを専有インスタンス (Dedicated Instance) としてデプロイするマシンセット
マシンを専有インスタンス (Dedicated Instance) としてデプロイする AWS で実行されるマシンセットを作成できます。専有インスタンス (Dedicated Instance) は、単一のお客様専用のハードウェア上の仮想プライベートクラウド (VPC) で実行されます。これらの Amazon EC2 インスタンスは、ホストのハードウェアレベルで物理的に分離されます。インスタンスが単一つの有料アカウントにリンクされている別の AWS アカウントに属する場合でも、専有インスタンス (Dedicated Instance) の分離が生じます。ただし、専用ではない他のインスタンスは、それらが同じ AWS アカウントに属する場合は、ハードウェアを専有インスタンス (Dedicated Instance) と共有できます。
パブリックまたは専用テナンシーのいずれかを持つインスタンスは、マシン API によってサポートされます。パブリックテナンシーを持つインスタンスは、共有ハードウェア上で実行されます。パブリックテナンシーはデフォルトのテナンシーです。専用のテナンシーを持つインスタンスは、単一テナントのハードウェアで実行されます。
2.2.6. マシンセットの使用による専有インスタンス (Dedicated Instance) の作成
					マシン API 統合を使用して、専有インスタンス (Dedicated Instance) によってサポートされるマシンを実行できます。マシンセット YAML ファイルの tenancy フィールドを設定し、AWS で専有インスタンス (Dedicated Instance) を起動します。
				
手順
- providerSpecフィールドに専用テナンシーを指定します。- providerSpec: placement: tenancy: dedicated- providerSpec: placement: tenancy: dedicated- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow