0

2 台のサーバーを持つ小さな会社に docker を実装するための戦略を評価しています。作業の負荷を分散するために、両方をクラスターとして機能させたいと考えていましたが、障害が発生した場合は相互にフェイルセーフとして機能させたいと考えていました。

私が理解していることから、etcd には最低 3 台のホストが必要です。そうしないと、キーを配置/取得できなくなります。これは 2 台のマシンでは不可能であり、3 台のマシンでは失敗することはありません。この評価は正しいですか?

唯一の解決策は、単一の etcd を使用することですが、それは、失敗したマシンが「etcd」である場合、両方が正しく動作しなくなることを意味します...

明確にするために、私はフリートのスケジューリング機能やクラスタリング機能のような利点を望んでいましたが、デプロイのサイズは小さくしました。ホスト間でコンテナー/systemd-units とデータを手動で移動することは私のバックアップ計画ですが、理想的とは言えません。

4

1 に答える 1

0

2 台のホストのみで coreos を実行できますが、クォーラムがなくなると etcd クラスターが失われます。マシンが 2 台しかない場合は、両方を再起動すると可能になります。ホストが 3 つある場合、すべてのマシンが再起動された場合に定足数が確保される可能性が非常に高くなります。

1 つを常にマスターと見なしたい場合は、これを行うことができます。クォーラムが失われた場合に、etcd ピアをマスターと見なす方法を理解していることを確認する必要があります。

静的 IP を使用している場合は、クラスターをより細かく制御でき、クラスター IP を設定しても問題ないはずです。両方のサーバーが再起動された場合でも、お互いを検出して安定した状態に到達できるはずです。

ドキュメントを見てみましょう

于 2015-05-12T01:35:18.693 に答える