• No : 797
  • 公開日時 : 2024/08/29 12:37
  • 更新日時 : 2024/10/09 21:00
  • 印刷

ノードはオートスケールしますか?

カテゴリー : 

回答

IDCFクラウド コンテナ for IDCFクラウド、IDCFクラウド コンテナ for IDCFプライベートクラウドでは、Cluster Autoscalerを有効化することで、ノードのオートスケーリングが可能です。
 
また、HPA (Horizontal Pod Autoscaler) を設定していると、リソースの使用率に応じたオートスケーリングが可能です。
 
以下では、Kubernetes クラスター上で動作する Pod の要求リソースに応じて Node の台数を自動で増減させる Cluster Autoscaler の有効化するための手順を説明します。
 

 
■利用条件
本機能を利用する場合、以下の条件を満たしている必要があります。
  1. Kubernetes のバージョンが 1.19, 1.20 であること(1.21は準備中です)
  2. 作成されたクラスターがマスターノード、ワーカーノードと分離されていること
     a.Cluster Autoscaler では、ワーカーノードが増減する形となります。
     b.そのため、ロールの “etcd”, “Control Plane”, “Worker” は下図のように構成されている必要があります。
 
また、以下の情報が必要となります。
  1. 作成したクラスターのID
  2. ノードプールのID ※ワーカーノードを指定する場合
    a.ワーカーノード(ロールが”Worker”のみのNode)が複数個存在しており、かつIDを指定しない場合は、全てのワーカーノードがオートスケールの対象となります。
  3. API URL & トークンキー
    a.クラスター内部へのアクセスを行うために必要となります
 
上記の取得方法は以下のとおりです。
 

 
1.作成したクラスター名をクリックし、クラスターの詳細画面に移動します。
2.クラスター詳細画面から”ツール” → “ノード” を選択します。
 
 
3.ノードの一覧から作成したワーカーノードに割り当てられたノード名を確認します。
 a.下図の場合、”c-XXXXX”クラスター名になります
 b.続けて、”np-XXXXX”ノードプール名になります
 

 
 

 
1.ダッシュボード右側のユーザをクリックし、”API & キー”を選択します
 
 
2.“API & キー”の画面右側にある、”キーを追加”を選択し、キーを作成します。
 a.キーの名前は任意です。
 b.スコープは必ず、”スコープなし” を選択してください。
 
 
3.キーの作成が終了すると、以下の図のように表示されます。これらの情報は、Cluster Autoscalerをインストールする際に必要となりますので、メモなどをとっておいてください。
 
 

 
■カタログを確認する
1.作成したクラスター名をクリックし、クラスターの詳細画面に移動します。
2.クラスター詳細画面から”ツール” → “カタログ” を選択します。
 
 
3.カタログの一覧に、”idcf-charts”があることを確認します。
 
 

 
■Cluster Autoscaler をインストールする
1.カタログに”idcf-charts”があることが確認できましたら、次にクラスターの選択画面から、”プロジェクト”→“Default” を選択します。
 
 
 
2.“Default”プロジェクトの画面から、”App”を選択します。選択後、右下の”起動”を選択することでアプリケーションの一覧画面に遷移します。
 
 
 
3.アプリケーションの一覧画面から、”idcf-library”→“cluster-autoscaler-rancher” を選択します。
 
 
 
4.選択すると、Cluster Autoscalerに関する設定画面が表示されます。
 a.“設定オプション”の以下の項目は、お客様の任意で変更が可能です。
   (基本的にはデフォルト値の設定で変更は不要です。)
    ⅰ.名前
    ⅱ.テンプレートバージョン
    ⅲ.名前空間
    ⅳ.Helm Wait
    ⅴ.Helm Timeout
※ 右下部の”YAMLで編集”を選択し、全ての項目をYAMLから設定することも可能です。
 
5.次にイメージの設定、およびデプロイ時の設定をおこないます。以下の表がそれぞれのパラメーターとその説明になります。
 
 
 

イメージの設定

項目

説明

Image

デプロイ時に使用するイメージ名

Image Tag

デプロイ時に使用するイメージのタグ

ImagePullPolicy

コンテナイメージをPullするポリシーを指定する

 
※ デフォルトで値が設定されていますので、変更する必要はありません。

デプロイの設定

項目

説明

Deployment Replicas

デプロイ時のレプリカ数

※ Leader Election はデフォルトで有効化されています

Scan Interval

Cluster Autoscaler のメインループの間隔

(例: 10s/1m/1h)

klog Verbose Ievel

klogのログ出力の詳細レベル

※ klogのログレベルに関してはこちらを参照してください
 (弊社管理外サイトです)

Rancher Client Debug

trueにした場合、ログ出力時にデバッグ内容も出力されます

 
※ デフォルトで値が設定されていますが、任意で変更が可能です。
 
6.最後にCluster Autoscalerの設定をおこないます。以下の表がそれぞれのパラメーターとその説明になります。全てのワーカーノードに対して、設定を行う場合は、 ”Min Size (Common)”, “Max Size (Common)” を設定してください。
 
 
 

Cluster Autoscalerの設定

項目

説明

ClusterId

クラスターID

※「利用準備①」を確認してください

API URL

APIのURL

Token Key

APIのトークンキー

※ 「利用準備②」で生成された Bearerトークンを使用します

Timeout

API Serverへのリクエストのタイムアウト時間 (必要な場合)

Min Size (Common)

スケールするノードの最小値 (全てのワーカーノードに適用)

Max Size (Common)

スケールするノードの最大値 (全てのワーカーノードに適用)

 
7.個別にノードを指定する場合は、​​次項目である”CLUSTER AUTOSCALER SETTINGS(TARGETNODEPOOLS)”に設定を行います。
 
 
 

Cluster Autoscalerの設定 (ノードプールの指定)

項目

説明

NodePool Name

ノードプール名

※「利用準備①」を確認してください

Min Size

スケールするノードの最小値 (指定したワーカーノードに適用)

Max Size

スケールするノードの最大値 (指定したワーカーノードに適用)

 
8.上記のパラメータを設定後、”起動”を押すとインストールが開始されます。以下の状態が表示されたら、インストールは完了です。
 
 
 
デフォルトの設定でインストールした場合、”Default” プロジェクト内に、以下のように登録されていることが確認できます。