2017-11-30 4 views
0

私は2台のデータセンターを持つクライアントで働いています。私たちは両方のデータセンターにノードを持つOpenshiftクラスタを設定しています。Openshift - データセンター間でレプリカを配布する

高可用性のために、アプリケーションは最低2ポッドで実行し、各ポッドは異なるデータセンターで実行する必要があります。

これは、どのようにして最善の方法ですか?

各設定が異なるデータセンターノードを対象とする2つの配置構成を作成する必要がありますか?

デプロイメントの設定が1つだけで、Openshiftは同じデプロイメントコンフィグレーションのポッドが2つの異なるデータセンターにある2つの異なるノードで起動することを必ず保証できますか?

ありがとうございました。

答えて

0

デフォルトでは、Kubernetesはルールに合致し、ルールがない場合、ノード間でPodをスケジュールするのに最善の努力をします。

別々の配備設定を使用する場合は、特定のノードにラベルを付け、それぞれにnodeSelectorの値を設定することでアプリケーションをスケジュールできます。

これは必須ではありません。必要に応じてanti-affinity rulesを使用してポッドをスケジュールする可能性があります。それでもノードにラベルを付ける必要があります。同じサービスの背後にある複数のポッドを決して同じ場所に配置しないように指定することができます。

私がZookeeperステートフルセットについて説明したことを示すK8ドキュメントへのリンクを添付してください。 here

0

あなたが探しているのと同様の方法でアプリを配備するので、これについてある程度お伝えできます。

クラッシュリカバリ:HAについては

、openshiftはポッドの最小数は(としてあたりRC - 複製コントローラコンフィギュレーション)を実行していることを確認します任意の時点でを。 RCはポッドを継続的に監視し、障害が発生した場合にポッドを再デプロイします。さまざまなデータセンターでアプリケーションを実行する理由は、地域にまたがってHAを設置することです。

展開コンフィグ

データセンターで実行されている各ポッドは、それに関連するそれぞれの展開設定を持つことになります。プロジェクト内のすべてのデプロイメント設定を表示できます。特定の環境変数の変化ならびにPVC (ポッド用の外部記憶装置である永続ボリュームクレーム)がある場合を除き、異なるデータセンタにおけるDCの

構成が類似していてもよいです。

トラフィックルーティングに関して、ロードバランサは、設定に基づいてトラフィックをルーティングします。

これは、クエリの概要を示すのに役立ちます。

関連する問題