この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

高可用性SUSE® Rancher Prime: RKE2 Kubernetesクラスターのインフラストラクチャの設定

このチュートリアルは、Rancher管理サーバーの基盤となるインフラストラクチャをプロビジョニングするのに役立つことを目的としています。

Rancher専用のKubernetesクラスターに推奨されるインフラストラクチャは、RancherがRKE2 Kubernetesクラスター、RKE Kubernetesクラスター、または単一のDockerコンテナにインストールされるかどうかによって異なります。

重要:

これらのノードは同じリージョンに存在する必要があります。これらのサーバーを別々の可用性ゾーン(データセンター)に配置することができます。

高可用性のRKE2クラスターにRancher管理サーバーをインストールするには、以下のインフラストラクチャを設定することをお勧めします:

  • 3つのLinuxノード(通常は仮想マシン)を、選択したインフラストラクチャプロバイダー内に用意します。

  • *ロードバランサー*は、ノードにトラフィックを振り分けます。

  • *DNSレコード*は、URLをロードバランサーにマッピングします。これがRancherサーバーのURLとなり、ダウンストリームのKubernetesクラスターはこれにアクセスする必要があります。

1.Linuxノードの設定

ノードがOS、コンテナランタイム、ハードウェア、ネットワークの一般的なインストール要件を満たしていることを確認してください。

Linuxノードを設定する一例については、Amazon EC2のインスタンスとしてノードを設定するためのこのチュートリアルを参照してください。

2.ロードバランサーの設定

すべてのノード上のRancherレプリカにトラフィックを誘導するために、ロードバランサーを設定する必要があります。これにより、単一のノードの障害がRancher管理サーバーへの通信を妨げることを防ぎます。

*Ingress-NGINX EOL:*コミュニティ`ingress-nginx`コントローラーは2026年3月にサービス終了(EOL)し、RKE2 v1.36で廃止されます。SUSE Rancher Primeが提供するRKE2バージョンは、RKE2 v1.32、v1.33、v1.34、v1.35およびv1.36のライフサイクル全体にわたって`ingress-nginx`サポートとCVE修正(8+)を受け続けます。TraefikはSUSE Rancher RKE2環境の推奨される移行パスであり、できるだけ早く移行することをお勧めします。詳細については、 Rancherが提供するRKE2クラスターでのIngress NGINXからTraefikへの移行を参照してください。

Kubernetesが後のステップで設定されると、RKE2ツールが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 ネットワークロードバランサーの設定に関するハウツーについては、こちらのページをご覧ください。

このロードバランサー(すなわち、local クラスターの Ingress)を、インストール後に Rancher 以外のアプリケーションのロードバランシングに使用しないでください。このIngressを他のアプリケーションと共有すると、他のアプリのIngress設定のリロード後にRancherに対してウェブソケットエラーが発生する可能性があります。`local`クラスターをRancher専用にし、他のアプリケーションには使用しないことをお勧めします。

3.DNSレコードを設定する

ロードバランサーを設定したら、このロードバランサーにトラフィックを送信するためのDNSレコードを作成する必要があります。

環境によっては、これはロードバランサーIPを指すAレコードであるか、ロードバランサーのホスト名を指すCNAMEである場合があります。いずれの場合でも、このレコードがRancherが応答することを意図しているホスト名であることを確認してください。

Rancherをインストールする際の後のステップでこのホスト名を指定する必要があり、後で変更することはできません。あなたの決定が最終的なものであることを確認してください。

ドメイントラフィックを Amazon ELB ロードバランサーにルーティングするための DNS レコードの設定に関するハウツーガイドについては、 公式 AWS ドキュメントをご覧ください。