15.8. チュートリアル: ワーカーノードの管理
Red Hat OpenShift Service on AWS (ROSA) では、ワーカーノードの変更はマシンプールを使用して実行します。マシンプールを使用すると、ユーザーは多数のマシンを 1 つのエンティティーとして管理できます。すべての ROSA クラスターに、クラスターの作成時に作成されるデフォルトのマシンプールがあります。詳細は、マシンプール のドキュメントを参照してください。
15.8.1. マシンセットの作成
マシンプールは、コマンドラインインターフェイス (CLI) またはユーザーインターフェイス (UI) のいずれかを使用して作成できます。
15.8.1.1. CLI を使用したマシンプールの作成
以下のコマンドを実行します。
rosa create machinepool --cluster=<cluster-name> --name=<machinepool-name> --replicas=<number-nodes>
入力の例
$ rosa create machinepool --cluster=my-rosa-cluster --name=new-mp --replicas=2
出力例
I: Machine pool 'new-mp' created successfully on cluster 'my-rosa-cluster' I: To view all machine pools, run 'rosa list machinepools -c my-rosa-cluster'
オプション: 次のコマンドを実行して、新しいマシンプール内の特定のノードにノードラベルまたはテイントを追加します。
rosa create machinepool --cluster=<cluster-name> --name=<machinepool-name> --replicas=<number-nodes> --labels=`<key=pair>`
入力の例
$ rosa create machinepool --cluster=my-rosa-cluster --name=db-nodes-mp --replicas=2 --labels='app=db','tier=backend'
出力例
I: Machine pool 'db-nodes-mp' created successfully on cluster 'my-rosa-cluster'
これにより、1 つのユニットとして管理できる追加の 2 つのノードが作成されます。また、表示されるラベルがこのノードに割り当てられます。
次のコマンドを実行して、マシンプールの作成と割り当てられたラベルを確認します。
rosa list machinepools --cluster=<cluster-name>
出力例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES Default No 2 m5.xlarge us-east-1a
15.8.1.2. UI を使用したマシンプールの作成
OpenShift Cluster Manager にログインし、クラスターをクリックします。
Machine pools をクリックします。
- Add machine pool をクリックします。
必要な設定を入力します。
ヒントまた、Edit node labels and taints セクションを展開して、ノードラベルとテイントをマシンプール内のノードに追加することもできます。
作成した新しいマシンプールが表示されます。
15.8.2. ワーカーノードのスケーリング
マシンプールを編集して、その特定のマシンプール内のワーカーノードの数をスケーリングします。CLI または UI を使用してワーカーノードをスケーリングできます。
15.8.2.1. CLI を使用したワーカーノードのスケーリング
次のコマンドを実行して、各クラスターで作成されたデフォルトのマシンプールを確認します。
rosa list machinepools --cluster=<cluster-name>
出力例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES Default No 2 m5.xlarge us-east-1a
デフォルトのマシンプールを異なるノード数にスケールアウトするには、次のコマンドを実行します。
rosa edit machinepool --cluster=<cluster-name> --replicas=<number-nodes> <machinepool-name>
入力の例
rosa edit machinepool --cluster=my-rosa-cluster --replicas 3 Default
次のコマンドを実行して、マシンプールがスケーリングされたことを確認します。
rosa describe cluster --cluster=<cluster-name> | grep Compute
入力の例
$ rosa describe cluster --cluster=my-rosa-cluster | grep Compute
出力例
- Compute: 3 (m5.xlarge)
15.8.2.2. UI を使用したワーカーノードのスケーリング
- 編集するマシンプールの右側にある 3 つの点をクリックします。
- Edit をクリックします。
- 必要なノード数を入力し、Save をクリックします。
クラスターを選択し、Overview タブをクリックします。Compute listing までスクロールして、クラスターがスケーリングされたことを確認します。Compute listing はスケーリングされたノードと同じであるはずです。たとえば、3/3 のようになります。
15.8.2.3. ノードラベルの追加
次のコマンドを使用してノードラベルを追加します。
rosa edit machinepool --cluster=<cluster-name> --replicas=<number-nodes> --labels='key=value' <machinepool-name>
入力の例
rosa edit machinepool --cluster=my-rosa-cluster --replicas=2 --labels 'foo=bar','baz=one' new-mp
これにより、新しいマシンプールに 2 つのラベルが追加されます。
このコマンドは、すべてのマシンプール設定を新しく定義した設定に置き換えます。別のラベルを追加し、かつ 古いラベルを保持する場合は、新しいラベルと既存のラベルの両方を指定する必要があります。指定しないと、既存のすべてのラベルが追加するラベルに置き換えられます。同様に、ラベルを削除する場合は、削除するラベルを除いて必要なラベルを指定し、コマンドを実行します。
15.8.3. ノードタイプの混在
新しいマシンプールを使用して、同じクラスター内で異なるワーカーノードマシンタイプを混在させることもできます。マシンプールの作成後にマシンプールのノードタイプを変更することはできません。しかし、--instance-type
フラグを追加することで、異なるノードを持つ新しいマシンプールを作成できます。
たとえば、データベースノードを別のノードタイプに変更するには、次のコマンドを実行します。
rosa create machinepool --cluster=<cluster-name> --name=<mp-name> --replicas=<number-nodes> --labels='<key=pair>' --instance-type=<type>
入力の例
rosa create machinepool --cluster=my-rosa-cluster --name=db-nodes-large-mp --replicas=2 --labels='app=db','tier=backend' --instance-type=m5.2xlarge
利用可能なすべてのインスタンスタイプ を表示するには、次のコマンドを実行します。
rosa list instance-types
ステップバイステップで変更するには、
--interactive
フラグを使用します。rosa create machinepool -c <cluster-name> --interactive
次のコマンドを実行してマシンプールをリストし、より大きな新しいインスタンスタイプを確認します。
rosa list machinepools -c <cluster-name>