高可用性組み込みetcd
警告
組み込みetcd(HA)は、Raspberry PiのようなSDカードを使用する遅いディスク上でパフォーマンスの問題が発生する可能性があります。
なぜサーバーノードの数は奇数なのか?
HA組み込みetcdクラスターは、etcdがクォーラムを維持するために奇数のサーバーノードで構成されている必要があります。n台のサーバーを持つクラスターの場合、クォーラムは(n/2)+1です。奇数サイズのクラスターにノードを追加すると、クォーラムに必要なノードの数が常に増加します。奇数サイズのクラスターにノードを追加することは、マシンの数が増えるため一見良さそうに見えますが、クォーラムを失わずに故障できるノードの数は同じであるため、故障耐性は悪化します。
組み込みetcdを使用したHA K3sクラスターは以下で構成されます:
- Kubernetes APIを提供し、他のコントロールプレーンサービスを実行し、組み込みetcdデータストアをホストするサーバーノードが3 つ以上
- オプション:アプリケーションやサービスを実行するために指定されたエージェントノードが0個以上
- オプション:エージェントノードがクラスターに登録するための固定登録アドレス
注記
大規模なHAクラスターを迅速にデプロイするには、関連プロジェクトを参照してください。
まず、クラスタリングを有効にするためにcluster-init
フラグと、追加のサーバーをクラスターに参加させるための共有シークレットとして使用されるトークンを使用してサーバーノードを起動します。
curl -sfL https://get.k3s.io | K3S_TOKEN=SECRET sh -s - server \
--cluster-init \
--tls-san=<FIXED_IP> # オプション、固定登録アドレスを使用する場合に必要
最初のサーバーを起動した後、共有シークレットを使用して2番目と3番目のサーバーをクラスターに参加させます:
curl -sfL https://get.k3s.io | K3S_TOKEN=SECRET sh -s - server \
--server https://<サーバー1のIPまたはホスト名>:6443 \
--tls-san=<FIXED_IP> # オプション、固定登録アドレスを使用する場合に必要