2.3. クラスターでのノードの自動スケーリングについて
自動スケーリングオプションは、クラスター内のマシンの数を自動的にスケーリングするように設定できます。
Cluster Autoscaler は、リソース不足のために現在のノードのいずれにもスケジュールできない Pod がある場合、またはデプロイメントのニーズを満たすために別のノードが必要な場合に、クラスターのサイズを拡大します。Cluster Autoscaler は、指定される制限を超えてクラスターリソースを拡大することはありません。
さらに、Cluster Autoscaler は、リソースの使用量が少なく、重要な Pod すべてが他のノードに適合する場合など、一部のノードが長い期間にわたって不要な状態が続く場合にクラスターのサイズを縮小します。
自動スケーリングを有効にする場合は、ワーカーノードの最小数および最大数も設定する必要があります。
クラスターの所有者と組織管理者のみがクラスターのスケーリングまたは削除が可能です。
2.3.1. クラスターでの自動スケーリングノードの有効化
ワーカーノードで自動スケーリングを有効にし、既存クラスターのマシンプール定義を編集して利用可能なノード数を増減できます。
Red Hat OpenShift Cluster Manager を使用して既存のクラスターで自動スケーリングノードを有効にする
OpenShift Cluster Manager コンソールからマシンプール定義でワーカーノードの自動スケーリングを有効にします。
手順
- OpenShift Cluster Manager Hybrid Cloud Console から、Clusters ページに移動し、自動スケーリングを有効にするクラスターを選択します。
- 選択したクラスターで、Machine pools タブを選択します。
-
自動スケーリングを有効にするマシンプールの最後にある Options メニュー
をクリックし、Scale を選択します。
- Edit node count ダイアログで、Enable autoscaling チェックボックスを選択します。
- Apply を選択してこれらの変更を保存し、クラスターの自動スケーリングを有効にします。
さらに、対話モードでクラスターを作成する 場合に、デフォルトのマシンプールに自動スケーリングを設定できます。
rosa CLI を使用した既存クラスターでの自動スケーリングノードの有効化
負荷に基づいてワーカーノード数を動的にスケールアップまたはスケールダウンできるように自動スケーリングを設定します。
自動スケーリングが正常に実行されるかどうかは、AWS アカウントに正しい AWS リソースクォータがあることかどうかに依存します。AWS コンソール でリソースクォータおよび要求クォータの増加を確認します。
手順
クラスター内のマシンプール ID を識別するには、以下のコマンドを実行します。
$ rosa list machinepools --cluster=<cluster_name>
出力例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TINTS AVAILABILITY ZONES default No 2 m5.xlarge us-east-1a mp1 No 2 m5.xlarge us-east-1a
- 設定する必要のあるマシンプールの ID を取得します。
マシンプールで自動スケーリングを有効にするには、以下のコマンドを実行します。
$ rosa edit machinepool --cluster=<cluster_name> <machinepool_ID> --enable-autoscaling --min-replicas=<number> --max-replicas=<number>
例
mp1
という ID をmycluster
という名前のクラスターに設定し、レプリカの数が 2 から 5 ワーカーノード間でスケーリングするように設定された状態でマシンプールで自動スケーリングを有効にします。$ rosa edit machinepool --cluster=mycluster mp1 --enable-autoscaling --min-replicas=2 --max-replicas=5