Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Configurando um Balanceador de Carga NGINX

O NGINX será configurado como um balanceador de carga de camada 4 (TCP) que encaminha conexões para um dos seus nós do Rancher.

Nesta configuração, o balanceador de carga está posicionado à frente dos seus nós. O balanceador de carga pode ser qualquer host capaz de executar o NGINX.

Não utilize um dos seus nós do Rancher como o balanceador de carga.

Esses exemplos mostram o balanceador de carga sendo configurado para direcionar o tráfego para três nós do servidor Rancher. Se o Rancher estiver instalado em um cluster Kubernetes RKE, são necessários três nós. Se o Rancher estiver instalado em um cluster Kubernetes K3s, apenas dois nós são necessários.

Instalar o NGINX

Comece instalando o NGINX no nó que você deseja usar como balanceador de carga. O NGINX possui pacotes disponíveis para todos os sistemas operacionais conhecidos. As versões testadas são 1.14 e 1.15. Para ajuda na instalação do NGINX, consulte a documentação de instalação deles.

O módulo stream é necessário, o qual está presente ao usar os pacotes oficiais do NGINX. Por favor, consulte a documentação do seu sistema operacional sobre como instalar e habilitar o módulo NGINX stream no seu sistema operacional.

Criar Configuração do NGINX

Após instalar o NGINX, você precisa atualizar o arquivo de configuração do NGINX, nginx.conf, com os endereços IP dos seus nós.

  1. Copie e cole o código de exemplo abaixo no seu editor de texto favorito. Salve-o como nginx.conf.

  2. De nginx.conf, substitua ambas as ocorrências (porta 80 e porta 443) de <IP_NODE_1>, <IP_NODE_2> e <IP_NODE_3> pelos IPs dos seus nós.

    Veja Documentação do NGINX: Balanceamento de Carga TCP e UDP para todas as opções de configuração.

    Exemplo de configuração do 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. Salve nginx.conf no seu balanceador de carga no seguinte caminho: /etc/nginx/nginx.conf.

  4. Carregue as atualizações para sua configuração do NGINX executando o seguinte comando:

    # nginx -s reload

Opção - Executar o NGINX como um contêiner Docker

Em vez de instalar o NGINX como um pacote no sistema operacional, você pode executá-lo como um contêiner Docker. Salve o Exemplo de configuração do NGINX editado como /etc/nginx.conf e execute o seguinte comando para iniciar o contêiner NGINX:

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