GNU/Linux >> Znalost Linux >  >> Linux

Jak používat Ansible ke konfiguraci reverzního proxy

Co je to vyrovnávač zatížení ? Nástroj pro vyrovnávání zatížení je účinný způsob, jak distribuovat síťový provoz mezi různé backendové servery. Je také známý jako serverová farma nebo serverový fond. Distribuuje požadavky klientů nebo zatížení sítě na cílové webové servery. Vyvažovače zátěže pracují na konceptu round-robin, který zajišťuje vysokou spolehlivost a dostupnost.

Jeden scénář

Máte webový server, který dokáže spravovat 100 klientů najednou. Najednou se požadavky na tento konkrétní server zvýší o 100 procent. Je pravděpodobné, že web spadne nebo bude ukončen. Chcete-li se této situaci vyhnout, nastavte cílový webový server. V tomto scénáři klient nikdy nepřejde na cílový webový server. Místo toho jejich požadavek jde na hlavní server a hlavní server odešle požadavek na cílový webový server. Když cílový webový server odpoví hlavnímu webovému serveru, který je známý jako reverzní proxy.

[ Také by se vám mohlo líbit: Změňte nasazení Kubernetes na službu Knative ]

Použití HAProxy jako proxy

Port na hlavním webovém serveru se nazývá frontend port. HAProxy je nástroj pro vyrovnávání zatížení HTTP, který lze nakonfigurovat jako reverzní proxy. Zde se podíváme na to, jak jsem nakonfiguroval HAProxy pomocí příručky Ansible.

Zkontrolujte systém, kde potřebujete nakonfigurovat HAProxy

HAProxy není v tomto systému nainstalován. Můžete to potvrdit následujícím příkazem:

rpm -q haproxy

Postup konfigurace HAProxy

Krok 1 – Instalace HAProxy

Chcete-li nainstalovat HAProxy, musíte použít balíček modul, kde zadáte název služby, kterou chcete nainstalovat:

    - name: "Configure Load balancer"
      package:
        name: haproxy

Krok 2 – Zkopírujte konfigurační soubor pro reverzní proxy

Zkopírujte konfigurační soubor, abyste jej mohli upravit:

cp /etc/haproxy/haproxy.cfg  /root/ws1/haproxy.cfg

Krok 3 – Změňte frontendový port a přiřaďte backendové IP adresy

Ve výchozím nastavení je frontend vázán na port 5000. Změnil jsem číslo portu na 8080. Také jsem použil for smyčka pro konfiguraci backendové IP. Nyní můžete spustit tolik webových serverů, kolik potřebujete, a není třeba ručně konfigurovat IP v /etc/httpd/httpd.conf . Automaticky načte IP z inventáře.

backend app
   balance     roundrobin
{%  for i in groups ["web"] %}
   server  app1{{ loop.index }} {{ i}}:80 check
{% endfor %}

Krok 4 – Zkopírujte soubor haproxy.cfg do spravovaného uzlu

Pomocí šablony režimu, zkopírujte konfigurační soubor pro HAProxy z uzlu řadiče do spravovaného uzlu:

    - template:
        dest: "/etc/haproxy/haproxy.cfg"
        src: "/root/ws1/haproxy.cfg"

Krok 5 – Spusťte službu

Použijte službu modul pro spuštění služby HAProxy:

    - service:
        name: "haproxy"
        state: restarted

Zkontrolujte systém, kam potřebujete nainstalovat webový server httpd

Pro testování konfigurace HAProxy nakonfigurujete také httpd na vašem cílovém uzlu s pomocí Ansible. Chcete-li zkontrolovat, zda již nemáte httpd ve vašem systému použijte následující příkaz:

 rpm -q httpd

Krok 1 – Nainstalujte httpd

Balík modul se používá k instalaci httpd na spravovaném uzlu:

    - name: "HTTPD CONFIGURE"
      package:
        name: httpd

Krok 2 – Zkopírujte webovou stránku

Šablona modul se používá ke zkopírování vaší webové stránky ze zdroje do cíle:

    - template:
        dest: "/var/www/html/index.html"
        src: "/root/ws1/haproxy.html"

Krok 3 – Spusťte službu

služba modul se používá ke spuštění httpd služba:

    - service:
        name: "haproxy"
        state: restarted

Dokončením příručky nakonfigurujte reverzní proxy

V této příručce máte dva různé hostitele se dvěma různými skupinami. Jedna skupina je pro webový server a druhá je pro load balancer:

---
- hosts: web
  tasks:
    - name: "HTTPD CONFIGURE"
      package:
        name: httpd
    - template:
        dest: "/var/www/html/index.html"
        src: "/root/ws1/haproxy.html"
    - service:
        name: "httpd"
        state: restarted
- hosts: lb
  tasks:
    - name: "Configure Load balancer"
      package:
        name: haproxy
    - template:
        dest: "/etc/haproxy/haproxy.cfg"
        src: "/root/ws1/haproxy.cfg"
    - service:
        name: "haproxy"
        state: restarted

Spusťte příručku

ansible-playbook haproxy.yml

Výstup

Příručka běží úspěšně a ke dvěma cílovým webovým serverům má hlavní webový server přístup pomocí nástroje pro vyrovnávání zatížení.

[ Hledáte více o automatizaci systému? Začněte s The Automated Enterprise, bezplatnou knihou od Red Hat. ] 

Závěr

Nástroj pro vyrovnávání zatížení a reverzní proxy byly nyní nakonfigurovány společností Ansible. Do svých webových služeb můžete přidat vrstvu ochrany a dostupnosti přidáním HAProxy do infrastruktury. Chcete-li se dozvědět více, podívejte se do dokumentace pro váš konkrétní cíl.


Linux
  1. Jak nakonfigurovat webový server Apache

  2. Jak používat Ansible k instalaci a konfiguraci Redis 6 na Ubuntu 20.04

  3. Jak používat Ansible k instalaci a konfiguraci Redis 6 na Debian 11

  1. Jak nakonfigurovat HAProxy load balancer

  2. Jak nainstalovat a nakonfigurovat HAProxy load balancer na Debian 11

  3. Jak nakonfigurovat databázi MySQL Slave

  1. Jak používat značky v Ansible Playbook (příklady)

  2. Jak nakonfigurovat HAProxy na serveru Debian 9 / Ubuntu 16.04

  3. Jak používat proměnné v Ansible Playbook