4.3. クラスターでのノードの自動スケーリングについて
オートスケーラーのオプションを設定すると、マシンプール内のマシンの数を自動的にスケーリングできます。
クラスターオートスケーラーは、リソース不足のために現在のノードのいずれにも Pod をスケジュールできない場合、またはデプロイメントのニーズを満たすために別のノードが必要な場合に、マシンプールのサイズを拡大します。クラスターオートスケーラーは、指定の制限を超えてクラスターリソースを拡大することはありません。
さらに、リソース使用量が少なく、重要な Pod がすべて他のノードに収まる場合など、一部のノードが一定期間にわたって継続的に必要ない場合、クラスターオートスケーラーはマシンプールのサイズを縮小します。
自動スケーリングを有効にする場合は、ワーカーノードの最小数および最大数も設定する必要があります。
クラスターの所有者と組織管理者のみがクラスターのスケーリングまたは削除が可能です。
4.3.1. クラスターでのノードの自動スケーリングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
ワーカーノードで自動スケーリングを有効にし、既存クラスターのマシンプール定義を編集して利用可能なノード数を増減できます。
Red Hat OpenShift Cluster Manager を使用して既存のクラスターでノードの自動スケーリングを有効にする
OpenShift Cluster Manager コンソールからマシンプール定義でワーカーノードの自動スケーリングを有効にします。
手順
- OpenShift Cluster Manager で、Cluster List ページに移動し、自動スケーリングを有効にするクラスターを選択します。
- 選択したクラスターで、Machine pools タブを選択します。
-
自動スケーリングを有効にするマシンプールの最後にある Options メニュー
をクリックし、Edit を選択します。
- Edit machine pool ダイアログで、Enable autoscaling チェックボックスをオンにします。
- Save を選択してこれらの変更を保存し、マシンプールの自動スケーリングを有効にします。
ROSA CLI を使用して既存のクラスターでノードの自動スケーリングを有効にする
負荷に基づいてワーカーノード数を動的にスケールアップまたはスケールダウンできるように自動スケーリングを設定します。
自動スケーリングが正常に実行されるかどうかは、AWS アカウントに正しい AWS リソースクォータがあることかどうかに依存します。AWS コンソール でリソースクォータおよび要求クォータの増加を確認します。
手順
クラスター内のマシンプール ID を識別するには、以下のコマンドを実行します。
rosa list machinepools --cluster=<cluster_name>
$ rosa list machinepools --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONE SUBNET VERSION AUTOREPAIR workers No 2/2 m5.xlarge us-east-2a subnet-03c2998b482bf3b20 4.16.6 Yes mp1 No 2/2 m5.xlarge us-east-2a subnet-03c2998b482bf3b20 4.16.6 Yes
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONE SUBNET VERSION AUTOREPAIR workers No 2/2 m5.xlarge us-east-2a subnet-03c2998b482bf3b20 4.16.6 Yes mp1 No 2/2 m5.xlarge us-east-2a subnet-03c2998b482bf3b20 4.16.6 Yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 設定する必要のあるマシンプールの ID を取得します。
マシンプールで自動スケーリングを有効にするには、以下のコマンドを実行します。
rosa edit machinepool --cluster=<cluster_name> <machinepool_ID> --enable-autoscaling --min-replicas=<number> --max-replicas=<number>
$ rosa edit machinepool --cluster=<cluster_name> <machinepool_ID> --enable-autoscaling --min-replicas=<number> --max-replicas=<number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
mp1
という ID をmycluster
という名前のクラスターに設定し、レプリカの数が 2 から 5 ワーカーノード間でスケーリングするように設定された状態でマシンプールで自動スケーリングを有効にします。rosa edit machinepool --cluster=mycluster mp1 --enable-autoscaling --min-replicas=2 --max-replicas=5
$ rosa edit machinepool --cluster=mycluster mp1 --enable-autoscaling --min-replicas=2 --max-replicas=5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.2. クラスターでのノードの自動スケーリングの無効化 リンクのコピーリンクがクリップボードにコピーされました!
既存のクラスターのマシンプール定義を編集することで、ワーカーノードの自動スケーリングを無効にして、使用可能なノードの数を増減できます。
クラスターの自動スケーリングは、Red Hat OpenShift Cluster Manager または ROSA コマンドラインインターフェイス (CLI) (rosa
) を使用して無効にできます。
Red Hat OpenShift Cluster Manager を使用して既存のクラスターでノードの自動スケーリングを無効にする
OpenShift Cluster Manager からマシンプール定義でワーカーノードの自動スケーリングを無効にします。
手順
- OpenShift Cluster Manager で、Cluster List ページに移動し、無効にする必要のある自動スケーリングでクラスターを選択します。
- 選択したクラスターで、Machine pools タブを選択します。
-
自動スケーリングのあるマシンプールの最後にある Options メニュー
をクリックし、Edit を選択します。
- Edit machine pool ダイアログで、Enable autoscaling チェックボックスをオフにします。
- Save を選択してこれらの変更を保存し、マシンプールの自動スケーリングを無効にします。
ROSA CLI を使用して既存のクラスターでノードの自動スケーリングを無効にする
ROSA コマンドラインインターフェイス (CLI) (rosa
) を使用して、マシンプール定義内のワーカーノードの自動スケーリングを無効にします。
手順
以下のコマンドを実行します。
rosa edit machinepool --cluster=<cluster_name> <machinepool_ID> --enable-autoscaling=false --replicas=<number>
$ rosa edit machinepool --cluster=<cluster_name> <machinepool_ID> --enable-autoscaling=false --replicas=<number>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
mycluster
という名前のクラスターで、default
マシンプールの自動スケーリングを無効にします。rosa edit machinepool --cluster=mycluster default --enable-autoscaling=false --replicas=3
$ rosa edit machinepool --cluster=mycluster default --enable-autoscaling=false --replicas=3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow