VPC環境で利用できます。
クラスタ内のノードプールリストを確認し、個々のノードプールの詳細情報確認、削除、アップグレード、ワーカーノード数の変更などの管理タスクを行うことができます。
ノードプールリストの確認
ノードプール全体リスト
サービス内に作成されたすべてのノードプールのリストを確認するには、NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Containers > Ncloud Kubernetes Service > Node poolsメニューを順にクリックします。
個別のクラスタ内のノードプールリスト
各クラスタ内のノードプールリストを確認する方法は、次の通りです。
- NAVERクラウドプラットフォームコンソールの VPC環境で、
> Services > Containers > Ncloud Kubernetes Serviceメニューを順にクリックします。 - クラスタリストで、ノードプールリストを確認するクラスタの行をクリックします。
ノードプールの詳細情報を見る
各ノードプールの詳細情報を確認するには、ノードプールリストで確認するノードプールの名前をクリックしてください。
ノードプールの追加
クラスタに新しいノードプールを追加する方法は、次の通りです。
- クラスタリストで、個々のクラスタの行をクリックします。
- クラスタの詳細情報タブでノードプール領域の下にある [追加] ボタンをクリックします。
- ノードプール名、サーバイメージ名、サーバタイプ、ノード数、Kubernetes Label、Taint、サブネット、Node IAM Roleを入力した後、 [次へ] ボタンをクリックします。
- ノードプール設定をもう一度確認した後、 [作成する] ボタンをクリックします。
ノードプール内のワーカーノード数の変更
ワーカーノード数を直接変更
クラスタノードプールのワーカーノード数は直接変更するか、クラスタ Autoscalerを用いて自動で増減するように設定できます。
クラスタノードプールのワーカーノード数を直接変更する方法は、次の通りです。
- クラスタリストで、個々のクラスタの行をクリックします。
- クラスタの詳細情報タブのノードプールリストで確認するノードプールの名前をクリックします。
- ノードプールの詳細情報ページで [変更] ボタンをクリックします。
- 設定のポップアップで未設定ボタンをクリックした後、ワーカーノード数を入力します。
- [変更] ボタンをクリックします。
特定のワーカーノードを削除
ノードプールのノード数を減らす場合のタスク優先順位は、次の通りです。
- 停止ステータスのノード
- 作成日が古いノード
クラスタノードプールの特定ノードを削除する方法は、次の通りです。
- クラスタリストで、個々のクラスタの行をクリックします。
- クラスタの詳細情報タブのノードプールリストで確認するノードプールの名前をクリックします。
- ノードプールの詳細情報ページで対象ノードの [削除] ボタンをクリックします。
または、対象ノードを停止した後、ノード数を変更して実行できます。
クラスタ Autoscalerを用いた数の自動増減
クラスタ Autoscalerを使用してワーカーノード数を自動増減させるには、Cluster 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アドレス、ラベルなどの情報をあらかじめ確認します。
ノードプールのアップグレードの際にワーカーノードがローテーションされます。既存のノード 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台のノードが存在できます。
ノード数は、既存ノードプールのサイズより大きくはなり得ません。
一度に取り替えられるノード数が多いためスピーディーにアップグレードを行えますが、クラスタが不安定になる可能性があります。