|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
1.インフラストラクチャのセットアップ
このセクションでは、HTTPプロキシを介してインターネットアクセスを持つRancher管理サーバーの基盤となるインフラストラクチャをプロビジョニングします。
高可用性のRKE2/K3sクラスターにRancher管理サーバーをインストールするには、以下のインフラストラクチャを設定することをお勧めします:
-
三つのLinuxノード、通常は仮想マシンで、AmazonのEC2、Google Compute Engine、またはvSphereなどのインフラストラクチャプロバイダーに配置します。
-
*ロードバランサー*は、フロントエンドトラフィックを三つのノードに振り分けるために使用します。
-
*DNSレコード*は、URLをロードバランサーにマッピングします。これがRancherサーバーのURLとなり、ダウンストリームのKubernetesクラスターはこれにアクセスする必要があります。
これらのノードは同じリージョン/データセンター内に配置する必要があります。これらのサーバーは別々のアベイラビリティゾーンに配置することができます。
なぜ三つのノードなのか?
RKE2/K3sクラスターでは、Rancherサーバーのデータはetcdに保存されます。このetcdデータベースは三つのノードすべてで実行されます。
etcdデータベースは、常にetcdクラスターの過半数でリーダーを選出できるように、奇数のノード数を必要とします。etcdデータベースがリーダーを選出できない場合、 スプリットブレインが発生し、クラスターをバックアップから復元する必要があります。三つのetcdノードのうち一つが故障した場合、残りの二つのノードはetcdノードの総数の過半数を持っているため、リーダーを選出できます。
1.Linuxノードのセットアップ
これらのホストはHTTPプロキシを介してインターネットに接続します。
ノードがOS、コンテナランタイム、ハードウェア、ネットワーキングの一般的なインストール要件を満たしていることを確認してください。
Linuxノードを設定する一例については、Amazon EC2のインスタンスとしてノードを設定するためのこのチュートリアルを参照してください。
2.ロードバランサーの設定
Rancherのレプリカにトラフィックを誘導するために、両方のノードにロードバランサーを設定する必要があります。これにより、単一のノードの障害がRancher管理サーバーへの通信を妨げることを防ぎます。
Kubernetesが後のステップで設定されると、RKE2/K3sツールがNGINX Ingressコントローラーをデプロイします。このコントローラーは、ワーカーノードのポート80および443でリスンし、特定のホスト名宛てのトラフィックに応答します。
Rancherがインストールされると(これも後のステップで)、RancherシステムはIngressリソースを作成します。そのIngressは、NGINX IngressコントローラーにRancherのホスト名宛てのトラフィックをリスンするよう指示します。NGINX Ingressコントローラーは、Rancherのホスト名宛てのトラフィックを受信すると、そのトラフィックをクラスター内の実行中のRancherポッドに転送します。
実装において、レイヤー4またはレイヤー7のロードバランサーを使用するかどうかを検討してください:
-
*レイヤー4のロードバランサー*は、ノードにTCPトラフィックを転送するという点で、2つの選択肢の中でよりシンプルです。ロードバランサーをレイヤー4バランサーとして構成し、TCP/80およびTCP/443のポートにトラフィックをRancher管理クラスターのノードに転送することをお勧めします。クラスター内のIngressコントローラーは、HTTPトラフィックをHTTPSにリダイレクトし、ポートTCP/443でSSL/TLSを終了します。Ingressコントローラーは、Rancherデプロイメント内のIngressポッドにTCP/80のポートへのトラフィックを転送します。
-
*レイヤー7のロードバランサー*は少し複雑ですが、必要な機能を提供することができます。例えば、レイヤー7のロードバランサーは、RancherがTLS終了を行うのではなく、ロードバランサーでTLS終了を処理することができます。これは、インフラストラクチャ内でTLS終了を集中管理したい場合に有益です。レイヤー7のロードバランシングは、レイヤー4のロードバランサーが関与できないクッキーなどのHTTP属性に基づいて、ロードバランサーが意思決定を行う能力も提供します。レイヤー7のロードバランサーでSSL/TLSトラフィックを終了することを決定した場合、後のステップでRancherをインストールする際に`--set tls=external`オプションを使用する必要があります。詳細については、Rancher Helmチャートオプションを参照してください。
NGINXロードバランサーの設定方法を示す例については、このページを参照してください。
Amazon ELBネットワークロードバランサーのセットアップに関するハウツーガイドについては、このページを参照してください。
|
重要:
インストール後、Rancher以外のアプリケーションのロードバランシングにこのロードバランサー(すなわち、`local`クラスターのIngress)を使用しないでください。このIngressを他のアプリケーションと共有すると、他のアプリのIngress設定のリロード後にRancherに対してウェブソケットエラーが発生する可能性があります。`local`クラスターをRancher専用にし、他のアプリケーションには使用しないことをお勧めします。 |
3.DNSレコードを設定する
ロードバランサーを設定したら、このロードバランサーにトラフィックを送信するためのDNSレコードを作成する必要があります。
環境によっては、LB IPを指すAレコードであるか、ロードバランサーのホスト名を指すCNAMEである場合があります。いずれの場合でも、このレコードがRancherが応答することを意図しているホスト名であることを確認してください。
Rancherをインストールする際の後のステップでこのホスト名を指定する必要があり、後で変更することはできません。あなたの決定が最終的なものであることを確認してください。
Amazon ELBロードバランサーにドメイントラフィックをルーティングするためのDNSレコードの設定に関するハウツーガイドについては、 公式AWSドキュメントを参照してください。