- 印刷する
- PDF
クラスタノードプールの管理
- 印刷する
- PDF
VPC環境で利用できます。
クラスタ内のノードプールリストを確認し、個々のノードプールの詳細情報確認、削除、アップグレード、ワーカーノード数の変更などの管理タスクを行うことができます。
ノードプールリスト確認
全体ノードプールリスト
サービス内に作成されたすべてのノードプールのリストを確認するには、NAVERクラウドプラットフォームコンソールの VPC環境で、 Services > Containers > Ncloud Kubernetes Service > Node pools メニューを順にクリックします。
個別クラスタ内のノードプールリスト
各クラスタ内のノードプールリストを確認する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールの VPC環境で、 Services > Containers > Ncloud Kubernetes Service メニューを順にクリックします。
- クラスタリストで、ノードプールリストを確認するクラスタの行をクリックします。
ノードプールの詳細情報を見る
各ノードプールの詳細情報を確認するには、ノードプールリストで確認するノードプール名をクリックします。
ノードプール追加
クラスタに新しいノードプールを追加する方法は、次の通りです。
- クラスタリストで、個別クラスタの行をクリックします。
- クラスタの詳細情報タブでノードプール領域の下にある [追加] ボタンをクリックします。
- ノードプール名、サーバイメージ名、サーバタイプ、ノード数、Kubernetes Label、Taint、サブネット、Node IAM Roleを入力し、 [次へ] ボタンをクリックします。
- ノードプール設定をもう一度確認し、 [作成する] ボタンをクリックします。
ノードプール内のワーカーノード数の変更</a
ワーカーノード数を直接変更
クラスタノードプールのワーカーノード数は直接変更するか、クラスタ Autoscalerを用いて自動で増減するように設定できます。
クラスタノードプールのワーカーノード数を直接変更する方法は、次の通りです。
- クラスタリストで、個別クラスタの行をクリックします。
- クラスタの詳細情報タブのノードプールリストで確認するノードプール名をクリックします。
- ノードプールの詳細情報ページで [修正] ボタンをクリックします。
- 設定のポップアップで 未設定 ボタンをクリックし、ワーカーノード数を入力します。
- [修正] ボタンをクリックします。
クラスタ Autoscalerを用いた数の自動増減
クラスタ Autoscalerを使用してワーカーノード数を自動増減させるには、クラスタ Autoscaler を使用するをご参照ください。
ノードプールの Kubernetes Labelと Taint修正
ノードプールの Kubernetes Labelと Taintを修正する方法は、次の通りです。
- クラスタリストで、個別クラスタの行をクリックします。
- クラスタの詳細情報タブのノードプールリストで確認するノードプール名をクリックします。
- ノードプールの詳細情報ページで Kubernetes Labelまたは Taintリスト下にある [修正] ボタンをクリックします。
- Kubernetes Labelまたは Taintを変更し、 [確認] ボタンをクリックします。
ノードプール削除
クラスタノードプールを削除する方法は、次の通りです。
- クラスタリストで、個別クラスタの行をクリックします。
- クラスタの詳細情報タブのノードプールリストで削除するノードプール名をクリックします。
- ノードプールの詳細情報ページで [削除] ボタンをクリックします。
- 確認のポップアップでそのノードプールの名前を入力し、 [削除] ボタンをクリックします。
ノードラベルを通じたノードプール識別
各ノードが属するノードプールの情報はノードラベルに追加され、'ncloud.com/nks-nodepool: {ノードプール名}' の形で表示されます。'--show-labels'オプションを使用してノードラベルを確認できます。ノードラベルを利用してノードプールを識別し、各ノードプールの仕様に応じて Podを効率的に配置できます。
ノードラベルを確認するには、以下のコマンドを実行してください。
$ kubectl --kubeconfig $KUBE_CONFIG get nodes --show-labels
ノードプールのアップグレード
追加増加のノード数とサービス不可でも問題ないノード数を指定し、ノードプールのバージョンアップグレードを行えます。ノードプールのバージョンアップグレードは、以下のように行われます。
- 追加で増加できるノード数だけ新規バージョンのノードを作成し、ノードが登録されるまで待機
- 取り替え対象のノードに Podがスケジュールできないように設定し、既存 Podを他のノードに再配置
- 取り替え対象のノードを削除
- すべてのノードが新規バージョンに取り替えられるまで上記の操作を繰り返す
アップグレード前の点検
ノードプールをアップグレードする前に、以下の事項を確認してサービスに影響を与えかねない要素をチェックしてください。
- 新しいバージョンの変更事項: Kubernetes changelogを参照して、新しいバージョンで変更された内容がサービスに影響を与える可能性があるか確認します。
- バージョンスキューポリシー: Version Skew Policyを参照して、クラスタとコンポーネントのバージョン間の互換性を確認します。
- Admission Webhook: クラスタ内に Webhookがある場合、アップグレード中にデッドロックに陥るおそれがあります。Dynamic Admission Controlを参照してアップグレード前にあらかじめ対策を講じてください。
- 利用可能なサーバの確保: 安定的なアップグレードのために、追加で増加できるノード数だけの利用可能なサーバを確保します。
- ノード情報変更の確認: ノードプールをアップグレードすると、既存のノード関連情報は初期化または変更されます。アップグレードを行う前にローカルボリューム情報、ノード名、IPアドレス、ラベルなどの情報をあらかじめ確認します。
次の内容を参照して、アップグレードに関する詳細を設定できます。
- PodDisruptionBudget: Specifying a Disruption Budgetを参照して、クラスタのアップグレード中にもサービス中の Podを希望する割合または数で維持できます。
- Readiness Probe: Define readiness probesを参照して、ノードプールの取り換え中に Podが再配置される時、Podがサービス可能な状態である場合にのみ Ncloud Kubernetes Serviceリソースを通じてアクセスできるように設定できます。
アップグレード方法
ノードプールをアップグレードする方法は、次の通りです。
- クラスタリストで、アップグレードするノードプールがあるクラスタの行をクリックします。
- クラスタの詳細情報タブでアップグレードするノードプール名の下にある [アップグレード] ボタンをクリックします。
- 追加で増加できるノード数、サービス不可でも問題ないノード数を設定し、アップグレードを行います。
- 追加で増加できるノード数: アップグレード中に追加できるノードの数を意味します。デフォルトは1で、最小0から最大0まで指定できます。
- サービス不可でも問題ないノード数: アップグレードの実行中にサービス不可状態になっても問題ないノード数を意味します。デフォルト値は0で、最大5まで指定できます。
既存ノード数が減少する時にこの数だけ追加で減少し、新規ノードが追加される時に最大追加で増加できるノード数とサービス不可でも問題ないノード数の合計だけ増加できます。
ノード数設定の例
- 例1) ノードプールサイズ5、追加で増加できるノード数1、サービス不可でも問題ないノード数0
ノードプールのサイズより1個までさらに作成できるため、ノードは最大6個まで存在できます。
ノード数は既存ノードプールのサイズより小さくはなり得ません。
ノードの取替が1個ずつ行われるため比較的ゆっくりではありますが、安定したアップグレードが行えます。 - 例2) ノードプールのサイズ5、追加で増加できるノード数5、サービス不可でも問題ないノード数0
ノードプールの大きさより5個までさらに作成できるため。ノードは最大10個まで存在できます。
ノード数は既存ノードプールのサイズより小さくはなり得ません。
一度に多くのノードを追加するため、比較的スピーディーで安定したアップグレードが行えます。 - 例3) ノードプールサイズ5、追加で増加できるノード数0、サービス不可でも問題ないノード数5
既存ノードプールのサイズより小さくなることができ、最小0個のノードが存在できます。
ノード数は、既存ノードプールのサイズより大きくはなり得ません。
一度に取り替えられるノード数が多いためスピーディーにアップグレードを行えますが、クラスタが不安定になる可能性があります。