|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
高可用性埋め込みetcd
|
埋め込みetcd(HA)は、SDカードで動作するRaspberry Piのような遅いディスクでパフォーマンスの問題が発生する可能性があります。 |
なぜ奇数のサーバーノードが必要なのか?
HA埋め込みetcdクラスターは、etcdが過半数を維持するために奇数のサーバーノードで構成されなければなりません。n台のサーバーを持つクラスターの場合、過半数は(n/2)+1です。奇数サイズのクラスターにノードを追加すると、常に過半数に必要なノードの数が増加します。奇数サイズのクラスターにノードを追加することは、より多くのマシンがあるため良いように見えますが、過半数を失うことなく同じ数のノードが故障する可能性があるため、耐障害性は悪化します。
埋め込みetcdを持つHA K3sクラスターは、以下で構成されています:
-
Kubernetes APIを提供し、他のコントロールプレーンサービスを実行し、埋め込みetcdデータストアをホストする3台以上の*サーバーノード*。
-
オプション:アプリやサービスを実行するために指定されたゼロ台以上の*エージェントノード*。
-
オプション:エージェントノードがクラスターに登録するための*固定登録アドレス*。
|
大規模なHAクラスターを迅速にデプロイするには、関連プロジェクトを参照してください。 |
始めるには、まずクラスターを有効にするための`cluster-init`フラグを持つサーバーノードを起動し、クラスターに追加のサーバーを参加させるための共有秘密として使用されるトークンを指定します。
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_TOKEN=SECRET sh -s - server \
--cluster-init \
--tls-san=<FIXED_IP> # Optional, needed if using a fixed registration address
最初のサーバーを起動した後、共有秘密を使用して2台目と3台目のサーバーをクラスターに参加させます:
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_TOKEN=SECRET sh -s - server \
--server https://<ip or hostname of server1>:6443 \
--tls-san=<FIXED_IP> # Optional, needed if using a fixed registration address
ここで`INSTALL_K3S_ARTIFACT_URL`はhttps://scc.suse.com/rancher-docs/rancherprime/latest/en/reference-guide.html#prime-artifacts-url[プライムアーティファクトURL]です。
2台目と3台目のサーバーが現在クラスターの一部であることを確認してください:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
server1 Ready control-plane,etcd,master 28m vX.Y.Z
server2 Ready control-plane,etcd,master 13m vX.Y.Z
server3 Ready control-plane,etcd,master 10m vX.Y.Z
これで、高可用性のコントロールプレーンが構築されました。正常にクラスター化されたサーバーは、追加のサーバーおよびエージェントノードに参加するための`--server`引数で使用できます。追加のエージェントノードをクラスターに参加させる手順は、サーバーと同じです:
curl -sfL https://get.k3s.io | INSTALL_K3S_ARTIFACT_URL=<PRIME-ARTIFACTS-URL>/k3s K3S_TOKEN=SECRET sh -s - agent --server https://<ip or hostname of server>:6443
すべてのサーバーノードで同じでなければならないいくつかの設定フラグがあります:
-
ネットワーク関連のフラグ:
--cluster-dns、--cluster-domain、--cluster-cidr、--service-cidr -
特定のコンポーネントのデプロイメントを制御するフラグ:
--disable-helm-controller、--disable-kube-proxy、--disable-network-policy`および--disable`に渡された任意のコンポーネント -
機能関連のフラグ:
--secrets-encryption