Table of Contents

Nível Básico

1. Configuração de Balanceamento de Carga Simples com `nginx`

    upstream meuservidores {
      server servidor1.example.com;
      server servidor2.example.com;
    }
    server {
      listen 80;
      location / {
        proxy_pass http://meuservidores;
      }
    }
 
  1. Descrição: Configura o nginx para balancear a carga entre os servidores servidor1.example.com e servidor2.example.com para requisições HTTP na porta 80.

2. Verificação do Status de Servidores com `curl`

Nível Intermediário

1. Verificação de Clusters com `pcs` (Pacemaker e Corosync)

2. Configuração de Recurso Cluster com `pcs`

3. Configuração de IP Virtual com `pcs`

Nível Avançado

1. Configuração de Balanceamento de Carga com `haproxy`

    frontend http-in
      bind *:80
      default_backend servidores_web
    backend servidores_web
      balance roundrobin
      server web1 servidor1.example.com:80 check
      server web2 servidor2.example.com:80 check
 
  1. Descrição: Configura o HAProxy para balancear as requisições HTTP entre dois servidores web, servidor1.example.com e servidor2.example.com, com checagem de saúde.

2. Configuração de Alta Disponibilidade com `keepalived`

    vrrp_instance VI_1 {
      state MASTER
      interface eth0
      virtual_router_id 51
      priority 100
      virtual_ipaddress {
        192.168.1.100
      }
    }
 
  1. Descrição: Configura o keepalived para fornecer alta disponibilidade de um endereço IP virtual (192.168.1.100) entre balanceadores de carga em modo VRRP.

Nível Especializado

1. Gerenciamento de Cluster Kubernetes com `kubectl`

2. Configuração de Balanceador de Carga com MetalLB para Kubernetes

    apiVersion: v1
    kind: ConfigMap
    metadata:
      namespace: metallb-system
      name: config
    data:
      config: |
        address-pools:
        - name: default
          protocol: layer2
          addresses:
          - 192.168.1.240-192.168.1.250
 
  1. Descrição: Configura o MetalLB para fornecer suporte a balanceamento de carga no nível 2 (L2) para um cluster Kubernetes, com um pool de endereços IPs atribuídos a balanceadores.

3. Configuração de Balanceamento de Carga Global com `dnsmasq`

    server=/exemplo.com/192.168.1.101
    server=/exemplo.com/192.168.1.102
 
  1. Descrição: Configura o dnsmasq para atuar como um balanceador de carga simples baseado em DNS, alternando entre os IPs 192.168.1.101 e 192.168.1.102 para as requisições ao domínio exemplo.com.