3.4.6.4. スケールダウン
レプリカセットをスケールダウンするには、メンバーを 5 つから 3 つ、または 3 つから 1 つのみに変更することができます。
前提条件 (ストレージの可用性、既存のデータベースのサイズ、oplogSize
) を満たす場合には、スケールアップを手動で実行することはありませんが、スケールダウンは常に手動で実行する必要があります。
スケールダウンの方法:
oc scale
コマンドを使用して、新しいレプリカ数を設定します。$ oc scale --replicas=3 statefulsets/mongodb
新しいレプリカ数が以前の数の過半数を占める場合に、削除された Pod の 1 つにプライマリーメンバーロールがあると、レプリカセットにより新しいプライマリーが選択されることがあります。たとえば、メンバーを 5 から 3 にスケールダウンする場合などです。
または、小さい数値にスケールダウンすると、レプリカセットが一時的にセカンダリーメンバーのみを持ち、読み取り専用モードになります。たとえば、メンバーを 5 から 1 のみにスケールダウンする場合などです。
存在しなくなったメンバーを削除するように、レプリカセットの設定を更新します。
これは、将来改善される可能性があります。可能な実装は、(ダウンワード API を介して公開される) レプリカの数を検査し、Pod が StatefulSet から削除されていることを判別する
PreStop
Pod フックが設定されていて、他の理由で再起動されていないことです。- 廃止された Pod で使用されたボリュームを削除する。