すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ACKクラスターのECS仕様の選択に関する提案

最終更新日:Oct 31, 2024

このトピックでは、Container Service for Kubernetes (ACK) クラスターを作成するときにElastic Compute Service (ECS) 仕様を選択する方法について説明します。

クラスター計画

ACKクラスターの作成時に小サイズのECSインスタンスを選択した場合、次の問題が発生する可能性があります。

  • ネットワークの問題: 小規模なECSインスタンスでは、限られたネットワークリソースしか使用できません。

  • 容量の問題: クラスターの安定性と信頼性を確保するために、システムはCPU、メモリ、ディスクなどのノードリソースを予約して、クラスターを管理し、インフラストラクチャコンポーネントを実行します。 小規模なECSインスタンスは、クラスターのパフォーマンスと可用性に悪影響を与える可能性があります。

  • リソースフラグメントの問題: システムがノードリソースを割り当てるときに、コンテナが小サイズのECSインスタンスを占有している場合、ECSインスタンス上の残りのアイドルリソースを使用してコンテナを作成または復元することはできません。 これは資源の浪費をもたらす。 例えば、ノードは整数個のCPUしか割り当てることができないが、ノード上のアプリケーションポッドは少量のCPUリソースしか必要としない。 その結果、残りのCPUリソースが浪費される。

次の利点がある大規模なECSインスタンスを使用することを推奨します。

  • ネットワークの利点: 帯域幅が大きいアプリケーションの場合、帯域幅が大きいとリソースの使用率が高くなります。 さらに、ECSインスタンス上のコンテナは相互に通信しやすくなり、ネットワーク伝送が減少します。

  • 画像プルの利点: 画像はより効率的にプルされます。 イメージから複数のコンテナを作成するには、イメージを1回だけプルする必要があります。 小型のECSインスタンスを選択した場合、イメージを複数回プルする必要があります。 コンテナを作成するためにECSインスタンスの数もスケールアウトする必要がある場合は、さらに時間がかかります。 その結果、アプリケーションのレスポンスレイテンシが増加します。

ECS仕様の選択方法の詳細については、「ECS仕様を選択してマスターノードを作成する」および「ECS仕様を選択してワーカーノードを作成する」をご参照ください。

ECS仕様を選択してマスターノードを作成する

ACKクラスターのマスターノードは、etcd、kube-apiserver、kube-controllerなどのコアコンポーネントを実行します。 これらのコンポーネントは、ACKクラスタの安定性を決定する。 したがって、マスターノードに最適なECS仕様を選択する必要があります。 マスターノードの仕様は、ACKクラスターのサイズに依存します。 より大きなACKクラスタは、より高い仕様を必要とする。

説明

ACKクラスターのサイズは、ノード数、ポッド数、デプロイ頻度、リクエスト数などの複数の要因に基づいて決定されます。 このトピックでは、クラスターサイズはノード数に基づいて決定されます。

個別のテストと学習には、小型のECSインスタンスを使用することを推奨します。 次の表に、本番環境にデプロイされたマスターノードに推奨されるECS仕様を示します。 提案された仕様は、マスタノードの負荷を低いレベルに維持することができる。

ノード数

推奨されるマスターノード仕様

1〜5ノード

4 vCPU、8 GB (2 vCPU、4 GBの仕様は推奨されません)

6〜20ノード

4 vCPU、16 GB

21から100ノード

8 vCPU、32 GB

200ノードへの100

16 vCPU、64 GB

500ノードへの200 (爆風半径を推定する必要があります)

64 vCPU、128 GB

ECS仕様を選択してワーカーノードを作成する

  • ノードの仕様は、4 vCPU、8 GB以上のメモリである必要があります。 詳細については、「ACKクラスターのECS仕様の選択に関する提案」をご参照ください。

  • 通常のワークロードで使用されるvCPUの総数と、ACKクラスターで許容される障害率に基づいて、ACKクラスター内のワーカーノードの仕様を決定します。

    たとえば、ACKクラスターが160のvCPUを必要とし、10% の障害率を許容できる場合、それぞれが16のvCPUを提供する少なくとも10のECSインスタンスを選択することを推奨します。 ピーク時に使用されるvCPUが144 (160 × 90%) を超えないようにしてください。 ACKクラスターが20% の障害率を許容できる場合、少なくとも5つのECSインスタンスを選択し、それぞれが32のvCPUを提供することを推奨します。 ピーク時に使用されるvCPUが128 (160 × 80%) を超えないようにしてください。 これにより、ECSインスタンスがダウンしても、残りのECSインスタンスは引き続きワークロードに対応し、高可用性を確保できます。

    ACKクラスターに1,000のvCPUが必要な場合は、ECS Bare Metalインスタンスを選択できます。 詳細については、「ECS Bare Metalインスタンスの使用シナリオと利点」をご参照ください。

  • ポッドのリソース要求に基づいてvCPUとメモリの比率 (1:2または1:4など) を決定します。 Javaアプリケーションなどのメモリが多いアプリケーションの場合、vCPUとメモリの比率を1:8に選択することを推奨します。

ECS Bare Metalインスタンスのシナリオと利点の使用

適用シナリオ

  • ACKクラスターでは、ワークロードを処理するために最大1,000のvCPUが必要です。 各ECS Bare Metalインスタンスには、少なくとも96個のvCPUがあります。 10個または11個のECS Bare Metalインスタンスを使用してACKクラスターを作成できます。

  • 短時間でスケールアウトします。 eコマースプロモーションイベントなどのシナリオでは、ECS Bare MetalインスタンスをACKクラスターに追加して、トラフィックスパイクに対処できます。 各ECS Bare Metalインスタンスは、複数のコンテナをホストできます。

メリット

  • 極めて高いネットワークパフォーマンス リモートダイレクトメモリアクセス (RDMA) がサポートされています。 Terwayプラグインを使用すると、ハードウェアのパフォーマンスを最大化できます。 これにより、コンテナは9 Gbit/sを超える帯域幅でホスト間で相互に到達できます。

  • ジッターのない最適なコンピューティングパフォーマンス: ECS Bare Metalインスタンスは、ハイパーバイザーの代わりにAlibaba Cloudによって開発されたチップを使用します。 仮想マシンの作成または実行にリソースは消費されません。 これにより、リソースの競合を回避できます。

  • 高いセキュリティ: ECS Bare Metalインスタンスは、物理層での暗号化とIntelベースの暗号化をサポートしています®ソフトウェアガード拡张机能 (インテル)®SGX) 。 このタイプのインスタンスは、ブロックチェーンアプリケーションをサポートする信頼できるコンピューティング環境も提供します。

詳細については、「概要」をご参照ください。