仮想マシンで実行されている分散アプリケーションがあり、そのうちの 1 つのサービスがアクティブ/パッシブ モードで実行されています。アクティブな VM は、パブリック IP を介してサービスを提供します。アクティブ VM に障害が発生すると、パブリック IP がパッシブ VM に移動され、パッシブ VM がアクティブになり、サービスの提供を開始します。
このパターンは、kubernetes によって管理されるコンテナー化されたアプリケーションにどのように適合しますか?
レプリカ = 1 のレプリケーション コントローラーを使用すると、ノード/ミニオンに障害が発生した場合、レプリケーション コントローラーは別のミニオンでポッド (= 現在のアプリケーションの VM) を再スケジュールしますが、これは現在のソリューションと比較してダウンタイムが長くなる可能性があります。 IP リソースのみが移動されます。
レプリカ = 2 のレプリケーション コントローラーを使用する場合、アンチパターンである 2 つのポッド (1 つはパブリック IP を使用し、もう 1 つはパブリック IP を使用しない) で異なる構成が必要になりますか? さらに、kubernetes には仮想 IP をサポートするための設計された方法はありません (ポッドを移動します)?
または、レプリカ = 2 を使用して、IP を管理するために自分で何かを実装する必要があります (または、ペースメーカーを使用する可能性がありますか?これにより、別の問題が発生します: アプリケーション、kubernetes、およびペースメーカー/corosync でクラスター管理が必要になります)。
それで、これはどのように行われるべきですか?