ACK One 登録済みクラスターは、クラスターに追加された Elastic Compute Service (ECS) インスタンスをグループで管理するのに役立つノードプール機能を提供します。ノードプールは、1 つ以上のノードの論理的なコレクションです。ノードプール内のノードを一元的に管理および保守できます。たとえば、ノードプール内のノードの自動スケーリングを一元的にアップグレードおよび構成できます。また、計算リソースを異なるノードプールにグループ化して、リソースの分離を実現することもできます。たとえば、異なるタイプのワークロード用に個別のノードプールを作成したり、異なる属性を持つノードを管理するために異なるノードプールを作成したりできます。
ノードプール
ノードプールは、ノードプールに追加されるすべてのノードに適用される構成テンプレートと考えることができます。Container Service for Kubernetes (ACK) クラスターには、異なるタイプと構成のノードプールを 1 つ以上作成できます。ノードプールの構成は、ノードの仕様、ゾーン、オペレーティングシステム、ラベル、テイントなどのノード属性で構成されます。ノード属性は、ノードプールを作成するときに構成することも、ノードプールを作成した後に変更することもできます。ノードプールの作成方法の詳細については、「ノードプールの作成」をご参照ください。
単一のノードプールは管理と構成を簡素化しますが、複数のノードプールを使用すると、リソースの分離と異なるノードタイプの混在デプロイメントが向上します。
単一のノードプール | 複数のノードプール |
単一のノードプール | 複数のノードプール |
単一のノードプールを介して複数のチームまたはさまざまなワークロードの計算リソースを管理し、運用と保守を簡素化します。単一のノードプールは、次の機能をサポートできます。
現在、異なるオペレーティングシステムタイプと CPU アーキテクチャ (Arm と x86) のインスタンスを混在させることはサポートされていません。 | 複数のノードプールを作成して、異なるワークロードまたはチームに独立した計算リソースを提供することにより、リソースの競合と潜在的なセキュリティリスクを回避します。次のシナリオに適しています。
|
複数のノードプールを利用することにより、スケジューリングポリシーを通じて異なるノードプールに優先順位を付けて、リソースとコストの管理を強化できます。次のシナリオを検討してください。
プリエンプティブルインスタンスやサブスクリプションインスタンスなど、さまざまなコストの計算リソースの優先順位を管理して、費用を最小限に抑えます。
使用される x86 および Arm アーキテクチャの比率など、ワークロードの要件に基づいてさまざまなインスタンスタイプを割り当てます。
ノードプールの作成手順
ノードプールの基本機能
ACK One 登録済みクラスターのノードプールは、ノード管理を容易にするために次の機能を提供します。
機能 | 説明 |
機能 | 説明 |
| |
| |
| |
ラベルとテイントを使用して、Kubernetes クラスター内のリソースを管理およびスケジューリングできます。ラベルは、ノードなどの Kubernetes リソースを識別および分類するために使用できます。テイントは、ノードが特定の Pod を拒否するために使用できます。 | |
不要になったノードをノードプールから削除できます。ノードの削除中に予期しない問題が発生しないように、標準の削除手順に基づいてノードを削除することをお勧めします。 |
ノードプールの課金
ノードプールとその自動 O&M 機能の使用は無料ですが、ノードプール内の ECS インスタンスなどのクラウドリソースは、それぞれのクラウド製品から課金されます。
ECS インスタンスの課金ルールの詳細については、「課金の概要」をご参照ください。
ノードプール内の既存のノードの課金タイプを変更するには、「インスタンスの課金方法を従量課金からサブスクリプションに変更する」をご参照ください。ノードプールの課金タイプの変更は、新しく追加されたノードにのみ影響し、既存のノードの課金タイプは変更されないことに注意してください。
スケーリンググループの課金の詳細については、「課金の概要」をご参照ください。
関連用語
初めて使用する前に、ノードプールに関連する次の概念と用語をよく理解してください。
スケーリンググループ: ACK は、Auto Scaling サービスを利用して、ノードプールの拡張 (スケールアウト) および縮小 (スケールイン) アクティビティを行います。各ノードプールは、単一の スケーリンググループ インスタンスに直接関連付けられています。スケーリンググループは、ワーカーノードとして機能する 1 つ以上の ECS インスタンスで構成されます。
スケーリング設定: ノードプールは、スケーリング設定を使用して、基本レベルでノードのプロパティを管理します。Auto Scaling 構成は、自動スケーリング中の ECS インスタンスのテンプレートとして機能し、スケーリングアクティビティがトリガーされると、これらのテンプレートに基づいてインスタンスを自動的に作成します。
スケーリングアクティビティ: ノードプールでのノードの追加または削除ごとに、スケーリングアクティビティが開始されます。システムはすべてのスケーリング操作を自動的に完了し、アクティビティをログに記録するため、ノードプールのスケーリングアクティビティを通じて履歴スケーリングレコードを確認できます。
システムディスクの交換: 既存のノードの追加やコンテナーランタイムの更新など、一部のノードプール操作では、システムディスクを交換することでノードを再初期化します。このプロセスでは、名前、インスタンス ID、IP などのノード固有のプロパティは変更されませんが、システムディスク上のデータは消去されます。アタッチされたデータディスクは影響を受けません。
ACK がディスク交換を実行すると、ノードドレナージが開始され、PDB に従って、影響を受けるノードから他の使用可能なノードに Pod が再配置されます。サービスの高可用性を維持するために、複数レプリカのデプロイメント戦略を実装して、ワークロードを複数のノードに分散し、重要なサービスの PDB を設定して Pod の同時中断を管理することをお勧めします。
インプレースアップグレード: ディスク交換の代替手段であるこのメソッドは、元のノードを再初期化したり、ノード上の既存のデータに影響を与えたりすることなく、必要なコンポーネントを直接更新および交換します。