Manual Scaling ベストプラクティス
D-FKE は worker node の手動スケールイン/スケールアウトをサポートしており、ユーザーが必要に応じて worker の数を手動で増減できます。
Portal コンソールでの手動スケールイン/スケールアウト手順: こちら/ のユーザーガイドを参照してください。
手動スケールインの処理フロー詳細
1. Pre-scale
- cluster をスケールするための環境をセットアップします。
- 環境を確認します: cluster ステータス/ネットワークステータス。
2. Scale in
- すべての node を cordon します(スケジュール無効化 - 新しいアプリケーション Pod が node に入るのを防ぐ)。
- 各 node を順番に drain します(現在の node からアプリケーション Pod を削除し、他の node に移動させます。ローカルディスク、単一 Pod、disruption budget などを持つ node は削除できません。参照)。
- すべての node が drain された後、各 node を Kubernetes cluster から削除します。
3. Post-scale
- すべての node が cluster から削除された後、システムが VM を回収・削除します。
- クリーンアップを行います。
手動スケールアウトの処理フロー詳細
1. Pre-scale
- cluster をスケールするための環境をセットアップします。
- 環境を確認します: cluster ステータス/ネットワークステータス。
- Kubernetes cluster に追加する node に対応する VM を作成します。
- 各 VM 上で Kubernetes を実行するための環境をセットアップします。
2. Scale out
- 各 node を順番に cluster に追加します。
- 新しく参加した node に対してアプリケーション Pod のスケジューリングを許可します。
3. Post-scale
- クリーンアップを行います。
手動スケール使用時の推奨事項
スケールイン操作の場合:
- 多数の node をスケールインする場合は、残りの node が十分なリソースを持っているか事前に調査・サイジングを行ってください。業務時間外や週末など、システムの負荷が低い時間帯に実行することを推奨します。
- 削除する node のリストが特定できる場合は、事前に cordon して新しいワークロードが削除予定の node に入らないようにしてください(node のリソース使用量のモニタリングに基づく)。
- node に大きなワークロードがまだある場合は、事前に drain しておくと、スケールインが速くなりタイムアウトを防げます。
- 1 回の手動スケールインで削除する node 数を少なくし、1 回あたり 10 node 以下にすることを推奨します。
スケールアウト操作の場合:
- 1 回の手動スケールアウトで追加する node 数を少なくし、1 回あたり 10 node 以下にすることを推奨します。
処理がタイムアウトした場合:
- retry アクションを押して処理を再実行できます。詳細はこちら/を参照してください。