web-dev-qa-db-ja.com

本番環境のKubernetesクラスタに少なくとも3つのノードが必要なのはなぜですか?

Kubernetesの公式チュートリアルの 最初のセクション には、

本番環境トラフィックを処理するKubernetesクラスタには、少なくとも3つのノードが必要です。

しかし、なぜ3が望ましいのかについての根拠はありません。スプリットブレインシナリオを回避するため、単に可用性を向上させるため、またはKubernetesの内部に固有の何かに対応するために、2つよりも3つが望ましいですか?スプリットブレインシナリオは複数のKubernetesクラスター(それぞれが異なるマスターを持つ)でのみ発生すると考えていましたが、単一のクラスターは少なくとも2つのノードを処理できるはずです。

16
rjs

これは、クラスターごとに最低3つのマスターノードを意味します。

Kubernetesはすべての重要なデータをetcdに保持します。これは、障害が発生した場合に過半数を使用して修復します。 etcdのインスタンスが各マスターノードで実行されます。 3つは、製品レベルのクラスターをバッキングしたいetcdの最小数です。したがって、クラスターあたりのマスターの最小数は3です。

7
Jonah Benton