Kubernetesの公式チュートリアルの 最初のセクション には、
本番環境トラフィックを処理するKubernetesクラスタには、少なくとも3つのノードが必要です。
しかし、なぜ3が望ましいのかについての根拠はありません。スプリットブレインシナリオを回避するため、単に可用性を向上させるため、またはKubernetesの内部に固有の何かに対応するために、2つよりも3つが望ましいですか?スプリットブレインシナリオは複数のKubernetesクラスター(それぞれが異なるマスターを持つ)でのみ発生すると考えていましたが、単一のクラスターは少なくとも2つのノードを処理できるはずです。
これは、クラスターごとに最低3つのマスターノードを意味します。
Kubernetesはすべての重要なデータをetcdに保持します。これは、障害が発生した場合に過半数を使用して修復します。 etcdのインスタンスが各マスターノードで実行されます。 3つは、製品レベルのクラスターをバッキングしたいetcdの最小数です。したがって、クラスターあたりのマスターの最小数は3です。