Kubernetesのエラスティックなスケーリングのための3次元スキーム
高い同時実行シナリオに対処するには、3つのレベルでスケーリングする必要がある:
- 水平展開:
- デプロイの変更
replicasパラメータ(推奨初期値3) - HPAを自動伸縮するように設定します:
kubectl autoscale deployment mcp-deployment --cpu-percent=70 --min=3 --max=10
- デプロイの変更
- リソースの最適化:
- コンテナ仕様にリソース要求/制限を設定する:
resources:
requests:
cpu: "500m"
memory: "512Mi" - K8sトポロジー分散制約を使用したノードの負荷分散
- コンテナ仕様にリソース要求/制限を設定する:
- フロー管理:
- Ingress経由でロードバランシングを設定する(Nginx Ingress推奨)
- サービスのsessionAffinityを使ったセッションの維持
特記事項:クロードのようなステートフルなサービスでは、永続的なストレージを実現するためにPV/PVCと連携する必要がある。
この答えは記事から得たものである。MCPコンテナ:Dockerをベースにした数百のMCPコンテナ展開について































