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. 実稼働環境用のインフラストラクチャー MachineSet の作成
実稼働デプロイメントでは、インフラストラクチャーコンポーネントを保持するために 3 つ以上の MachineSet をデプロイします。ロギング集約ソリューションおよびサービスメッシュはどちらも Elasticsearch をデプロインし、Elasticsearch では複数の異なるノードにインストールされる 3 つのインスタンスが必要です。高可用性を確保するには、これらのノードを複数の異なるアベイラビリティーゾーンにインストールし、デプロイします。各アベイラビリティーゾーンにそれぞれ異なる MachineSet が必要であるため、3 つ以上の MachineSet を作成します。
6.2.1. 異なるクラウドの MachineSet の作成 リンクのコピーリンクがクリップボードにコピーされました!
クラウドのサンプル MachineSet を使用します。
6.2.1.1. AWS 上の MachineSet カスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
このサンプル YAML は us-east-1a
Amazon Web Services (AWS) ゾーンで実行され、node-role.kubernetes.io/<role>:""
というラベルが付けられたノードを作成する MachineSet を定義します。
このサンプルでは、<infrastructureID>
はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、<role>
は追加するノードラベルです。
- 1 3 5 11 12 13 14
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI と
jq
パッケージがインストールされている場合は、以下のコマンドを実行してインフラストラクチャー 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、ノードラベル、およびゾーンを指定します。
- 6 7 9
- 追加するノードラベルを指定します。
- 10
- OpenShift Container Platform ノードの AWS ゾーンに有効な Red Hat Enterprise Linux CoreOS (RHCOS) AMI を指定します。
6.2.1.2. Azure 上の MachineSet カスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
このサンプル YAML は、centralus
リージョンの 1
Microsoft Azure ゾーンで実行され、 node-role.kubernetes.io/<role>: ""
というラベルの付けられたノードを作成する MachineSet を定義します。
このサンプルでは、<infrastructureID>
はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、<role>
は追加するノードラベルです。
- 1 5 7 12 13 14 17
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI と
jq
パッケージがインストールされている場合は、以下のコマンドを実行してインフラストラクチャー 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 11 15 16
- 追加するノードラベルを指定します。
- 4 6 10
- インフラストラクチャー ID、ノードラベル、およびリージョンを指定します。
- 18
- マシンを配置するリージョン内のゾーンを指定します。リージョンがゾーンをサポートすることを確認してください。
6.2.1.3. GCP 上の MachineSet カスタムリソースのサンプル YAML リンクのコピーリンクがクリップボードにコピーされました!
このサンプル YAML は、Google Cloud Platform (GCP) で実行され、node-role.kubernetes.io/<role>: ""
というラベルが付けられたノードを作成する MachineSet を定義します。
このサンプルでは、<infrastructureID>
はクラスターのプロビジョニング時に設定したクラスター ID に基づくインフラストラクチャー ID であり、<role>
は追加するノードラベルです。
- 1 2 3 4 5 8 10 11 14
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。OpenShift CLI と
jq
パッケージがインストールされている場合は、以下のコマンドを実行してインフラストラクチャー 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 - 12 16
- インフラストラクチャー ID およびノードラベルを指定します。
- 6 7 9
- 追加するノードラベルを指定します。
- 13 15
- クラスターに使用する GCP プロジェクトの名前を指定します。
6.2.2. MachineSet の作成 リンクのコピーリンクがクリップボードにコピーされました!
インストールプログラムによって作成されるものに加え、独自の MachineSet を作成して、選択する特定のワークロードに対するマシンのコンピュートリソースを動的に管理することができます。
前提条件
- OpenShift Container Platform クラスターをデプロイします。
-
oc
として知られる OpenShift コマンドラインインターフェース (CLI) をダウンロードします。 -
cluster-admin
パーミッションを持つユーザーとして、oc
にログインします。
手順
説明されているように MachineSet カスタムリソースサンプルを含む新規 YAML ファイルを作成し、そのファイルに
<file_name>.yaml
という名前を付けます。<clusterID>
および<role>
パラメーターの値を設定していることを確認します。新規
MachineSet
を作成します。oc create -f <file_name>.yaml
$ oc create -f <file_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MachineSet の一覧を表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新規の MachineSet が利用可能な場合、
DESIRED
およびCURRENT
の値は一致します。MachineSet が利用可能でない場合、数分待機してからコマンドを再度実行します。新規の MachineSet が利用可能になった後に、マシンおよびそれが参照するノードのステータスを確認します。
oc describe machine <name> -n openshift-machine-api
$ oc describe machine <name> -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は例になります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいノードを表示し、新規ノードが指定したラベルを持っていることを確認します。
oc get node <node_name> --show-labels
$ oc get node <node_name> --show-labels
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンド出力を確認し、
node-role.kubernetes.io/<your_label>
がLABELS
一覧にあることを確認します。
MachineSet への変更は、MachineSet が所有する既存のマシンには適用されません。たとえば、既存の MachineSet へ編集または追加されたラベルは、既存のマシンおよび MachineSet に関連付けられたノードには伝播しません。
次のステップ
他のアベイラビリティーゾーンで MachineSet が必要な場合、このプロセスを繰り返して追加の MachineSet を作成します。