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

NGINXロードバランサーの設定

NGINXは、接続をRancherノードの1つに転送するLayer 4ロードバランサー(TCP)として構成されます。

この構成では、ロードバランサーはノードの前に配置されます。ロードバランサーには、NGINXを実行できる任意のホストを使用できます。

Rancherノードの1つをロードバランサーとして使用しないでください。

これらの例では、ロードバランサーが3つのRancherサーバーノードへトラフィックを振り分けるように構成されています。RancherがRKE Kubernetesクラスターにインストールされている場合、3つのノードが必要です。RancherがK3s Kubernetesクラスターにインストールされている場合、2つのノードのみが必要です。

NGINXをインストールする

ロードバランサーとして使用するノードにNGINXをインストールすることから始めてください。NGINXは、すべての既知のオペレーティングシステム用のパッケージが利用可能です。テストされたバージョンは`1.14`と`1.15`です。NGINXのインストールに関するヘルプについては、彼らの インストールドキュメントを参照してください。

`stream`モジュールは必須であり、公式のNGINXパッケージに含まれています。オペレーティングシステムでNGINX `stream`モジュールをインストールおよび有効にする方法については、OSのドキュメントを参照してください。

NGINX設定の作成

NGINXをインストールした後、ノードのIPアドレスを反映するために、NGINX設定ファイル`nginx.conf`を更新する必要があります。

  1. 以下のコードサンプルをお気に入りのテキストエディタにコピーして貼り付けてください。それを`nginx.conf`として保存してください。

  2. nginx.conf`内で、ポート80と443の両方に現れる<IP_NODE_1>`、<IP_NODE_2>、および`<IP_NODE_3>`を、ノードのIPアドレスに置き換えてください。

    すべての設定オプションについては、 NGINXドキュメント:TCPおよびUDP負荷分散を参照してください。

    例のNGINX設定
    worker_processes 4;
    worker_rlimit_nofile 40000;
    
    events {
        worker_connections 8192;
    }
    
    stream {
        upstream rancher_servers_http {
            least_conn;
            server <IP_NODE_1>:80 max_fails=3 fail_timeout=5s;
            server <IP_NODE_2>:80 max_fails=3 fail_timeout=5s;
            server <IP_NODE_3>:80 max_fails=3 fail_timeout=5s;
        }
        server {
            listen 80;
            proxy_pass rancher_servers_http;
        }
    
    }
    
    http {
    
        upstream rancher_servers_https {
            least_conn;
            server <IP_NODE_1>:443 max_fails=3 fail_timeout=5s;
            server <IP_NODE_2>:443 max_fails=3 fail_timeout=5s;
            server <IP_NODE_3>:443 max_fails=3 fail_timeout=5s;
        }
        server {
            listen 443 ssl;
            ssl_certificate /path/to/tls.crt;
            ssl_certificate_key /path/to/key.key;
            location / {
                proxy_pass https://rancher_servers_https;
                proxy_set_header Host <rancher UI URL>;
                proxy_ssl_server_name on;
                proxy_ssl_name <rancher UI URL>
            }
        }
    }
  3. 以下のパスにあるロードバランサーに`nginx.conf`を保存してください:/etc/nginx/nginx.conf

  4. 以下のコマンドを実行して、NGINX設定の更新を反映させてください:

    # nginx -s reload

オプション - NGINXをDockerコンテナとして実行する

オペレーティングシステムにNGINXをパッケージとしてインストールする代わりに、Dockerコンテナとして実行することができます。編集した*例のNGINX設定*を`/etc/nginx.conf`として保存し、次のコマンドを実行してNGINXコンテナを起動してください:

docker run -d --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  -v /etc/nginx.conf:/etc/nginx/nginx.conf \
  nginx:1.14