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.6.2. 実稼働環境用のインフラストラクチャーマシンセットの作成
実稼働デプロイメントでは、インフラストラクチャーコンポーネントを保持するために 3 つ以上のマシンセットをデプロイします。ロギング集約ソリューションおよびサービスメッシュはどちらも Elasticsearch をデプロインし、Elasticsearch では複数の異なるノードにインストールされる 3 つのインスタンスが必要です。高可用性を確保するには、これらのノードを複数の異なるアベイラビリティーゾーンにデプロイします。各アベイラビリティーゾーンにそれぞれ異なるマシンセットが必要であるため、3 つ以上のマシンセットを作成します。
6.2.1. 異なるクラウドのマシンセットの作成 リンクのコピーリンクがクリップボードにコピーされました!
クラウドのサンプルマシンセットを使用します。
6.2.1.1. AWS 上のマシンセットカスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
このサンプル YAML は us-east-1a
Amazon Web Services (AWS) ゾーンで実行され、node-role.kubernetes.io/infra:""
というラベルが付けられたノードを作成するマシンセットを定義します。
このサンプルでは、<infrastructureID>
はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、infra
は追加するノードラベルです。
- 1 3 5 12 13 14 15
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。
oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.ami.id}{"\n"}' \ get machineset/<infrastructureID>-worker-us-east-1a
$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.ami.id}{"\n"}' \ get machineset/<infrastructureID>-worker-us-east-1a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 4 8
- インフラストラクチャー ID、
infra
ノードラベル、およびゾーンを指定します。 - 6 7 9
infra
ノードラベルを指定します。- 10
- ユーザーのワークロードが infra ノードにスケジュールされないようにテイントを指定します。
- 11
- OpenShift Container Platform ノードの AWS ゾーンに有効な Red Hat Enterprise Linux CoreOS (RHCOS) AMI を指定します。
AWS で実行されるマシンセットは保証されていない Spot インスタンス をサポートします。AWS の On-Demand インスタンスと比較すると、Spot インスタンスをより低い価格で使用することでコストを節約できます。MachineSet
YAML ファイルに spotMarketOptions
を追加して Configure Spot Instances を設定 します。
6.2.1.2. Azure 上のマシンセットのカスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
このサンプル YAML は、centralus
リージョンの 1
Microsoft Azure ゾーンで実行され、 node-role.kubernetes.io/infra: ""
というラベルの付けられたノードを作成するマシンセットを定義します。
このサンプルでは、<infrastructureID>
はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、infra
は追加するノードラベルです。
- 1 5 7 13 14 15 18
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行してサブネットを取得できます。
oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.subnet}{"\n"}' \ get machineset/<infrastructureID>-worker-centralus1
$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.subnet}{"\n"}' \ get machineset/<infrastructureID>-worker-centralus1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して vnet を取得できます。
oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.vnet}{"\n"}' \ get machineset/<infrastructureID>-worker-centralus1
$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.vnet}{"\n"}' \ get machineset/<infrastructureID>-worker-centralus1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 3 8 9 11 16 17
infra
ノードラベルを指定します。- 4 6 10
- インフラストラクチャー ID、
infra
ノードラベル、およびリージョンを指定します。 - 12
- ユーザーのワークロードが infra ノードにスケジュールされないようにテイントを指定します。
- 19
- マシンを配置するリージョン内のゾーンを指定します。リージョンがゾーンをサポートすることを確認してください。
6.2.1.3. GCP 上のマシンセットのカスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
このサンプル YAML は、Google Cloud Platform (GCP) で実行され、node-role.kubernetes.io/infra: ""
というラベルが付けられたノードを作成するマシンセットを定義します。
このサンプルでは、<infrastructureID>
はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、infra
は追加するノードラベルです。
- 1 2 3 4 5 8 12 13 15 17
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 6 7 9
infra
ノードラベルを指定します。- 10
- ユーザーのワークロードが infra ノードにスケジュールされないようにテイントを指定します。
- 11
- 現在のマシンセットで使用されるイメージへのパスを指定します。OpenShift CLI がインストールされている場合は、以下のコマンドを実行してイメージへのパスを取得できます。
oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.disks[0].image}{"\n"}' \ get machineset/<infrastructureID>-worker-a
$ oc -n openshift-machine-api \ -o jsonpath='{.spec.template.spec.providerSpec.value.disks[0].image}{"\n"}' \ get machineset/<infrastructureID>-worker-a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 14 16
- クラスターに使用する GCP プロジェクトの名前を指定します。
6.2.1.4. RHOSP 上のマシンセットのカスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
このサンプル YAML は、Red Hat OpenStack Platform (RHOSP) で実行され、node-role.kubernetes.io/infra: ""
というラベルが付けられたノードを作成するマシンセットを定義します。
このサンプルでは、infrastructure_ID
はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、infra
は追加するノードラベルです。
- 1 5 7
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 3 8 9 15
infra
ノードラベルを指定します。- 4 6 10
- インフラストラクチャー ID および
infra
ノードラベルを指定します。 - 11
- ユーザーのワークロードが infra ノードにスケジュールされないようにテイントを指定します。
- 12
- MachineSet のサーバーグループポリシーを設定するには、サーバーグループの作成 から返された値を入力します。ほとんどのデプロイメントでは、
anti-affinity
またはsoft-anti-affinity
が推奨されます。 - 13
- 複数ネットワークへのデプロイメントに必要です。複数ネットワークにデプロイする場合、この一覧には、
primarySubnet が
の値として使用されるネットワークが含まれる必要があります。 - 14
- ノードのエンドポイントを公開する RHOSP サブネットを指定します。通常、これは
install-config.yaml
ファイルのmachinesSubnet
の値として使用される同じサブネットです。
6.2.1.5. RHV 上のマシンセットのカスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
このサンプル YAML は、RHV で実行され、node-role.kubernetes.io/<node_role>: ""
というラベルが付けられたノードを作成するマシンセットを定義します。
このサンプルでは、<infrastructure_id>
はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、<role>
は追加するノードラベルです。
- 1 7 9
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI (
oc
) がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 3 10 11 13
- 追加するノードラベルを指定します。
- 4 8 12
- インフラストラクチャー ID およびノードラベルを指定します。これら 2 つの文字列は 35 文字を超えることができません。
- 5
- 作成するマシンの数を指定します。
- 6
- マシンのセレクター。
- 14
- この仮想マシンインスタンスが属する RHV クラスターの UUID を指定します。
- 15
- マシンの作成に使用する RHV 仮想マシンテンプレートを指定します。
- 16
- オプション: 仮想マシンインスタンスタイプを指定します。このパラメーターを含めると、CPU およびメモリーを含む仮想マシンのハードウェアパラメーターを指定する必要はありません。このパラメーターは、すべてのハードウェアパラメーターを上書きするためです。
- 17
- オプション: CPU フィールドには、ソケット、コア、スレッドを含む CPU の設定が含まれます。
- 18
- オプション: 仮想マシンのソケット数を指定します。
- 19
- オプション: ソケットあたりのコア数を指定します。
- 20
- オプション: コアあたりのスレッド数を指定します。
- 21
- オプション: 仮想マシンのメモリーサイズを MiB 単位で指定します。
- 22
- オプション: ノードのルートディスク。
- 23
- オプション: ブート可能なディスクのサイズを GiB 単位で指定します。
- 24
- オプション: 仮想マシンのネットワークインターフェイスの一覧。このパラメーターを含めると、OpenShift Container Platform はテンプレートからすべてのネットワークインターフェイスを破棄し、新規ネットワークインターフェイスを作成します。
- 25
- オプション: vNIC プロファイル ID を指定します。
- 26
- RHV 認証情報を保持するシークレットの名前を指定します。
- 27
- オプション: インスタンスが最適化されるワークロードタイプを指定します。この値は
RHV VM
パラメーターに影響します。サポートされる値:desktop
、server
、high_performance
です。
RHV は仮想マシンの作成時にテンプレートを使用するため、任意のパラメーターの値を指定しない場合、RHV はテンプレートに指定されるパラメーターの値を使用します。
6.2.1.6. vSphere 上のマシンセットのカスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
このサンプル YAML は、VMware vSphere で実行され、 node-role.kubernetes.io/infra: ""
というラベルが付けられたノードを作成するマシンセットを定義します。
このサンプルでは、infrastructure_id
はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、infra
は追加するノードラベルです。
- 1 3 5
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI (
oc
) がインストールされている場合は、以下のコマンドを実行してインフラストラクチャー ID を取得できます。oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 4 8
- インフラストラクチャー ID および
infra
ノードラベルを指定します。 - 6 7 9
infra
ノードラベルを指定します。- 10
- ユーザーのワークロードが infra ノードにスケジュールされないようにテイントを指定します。
- 11
- マシンセットをデプロイする vSphere 仮想マシンネットワークを指定します。
- 12
user-5ddjd-rhcos
などの使用する vSphere 仮想マシンテンプレートを指定します。- 13
- マシンセットをデプロイする vCenter Datacenter を指定します。
- 14
- マシンセットをデプロイする vCenter Datastore を指定します。
- 15
/dc1/vm/user-inst-5ddjd
などの vCenter の vSphere 仮想マシンフォルダーへのパスを指定します。- 16
- 仮想マシンの vSphere リソースプールを指定します。
- 17
- vCenter サーバーの IP または完全修飾ドメイン名を指定します。