Configurar um Proxy HA em Cloudstack

Fonte: Pt Ikoula wiki
Revisão em 15h29min de 18 de novembro de 2015 por Ikbot (discussão | contribs)
Ir para navegação Ir para pesquisar

fr:Configurer un HA Proxy sur Cloudstack

Este artigo foi traduzido por um sistema de tradução automática. Você pode visualizar a fonte do artigo aqui.

Introdução

Você deseja configurar um HA Proxy na plataforma Clou dstack. Este artigo irá explicar a abordagem através de um exemplo de configuração.

Implementação

Aqui está o procedimento a seguir para implementar um HA Proxy em uma instância do Debian 8 "Jessie " sob Cloudstack.
Nota :Esta abordagem aplica-se também no âmbito de uma disposição dedicada .

Criar a nova instância HAProxy

Você vai encontrar os procedimentos para a criação de um pt de Cloudstack instância roteamento dire o sobre fr:Deploiement d'une instance en zone direct-routing e em roteamento avançado sobre fr:Deploiement d'une instance en zone advanced-routing

Configurar a nova instância HAProxy

Nossa VM é agora iniciado

InfoVM.png

Podemos conectar o console integrado do ou ssh

ConnectVM.png

Pré-requisitos

Um do pré-requisito essencial é preservar seu sistema tão actualizada quanto possível.

 apt-get update
 apt-get upgrade 

Mantendo seu sistema Debian atualizado, verifique se que você tem uma lista de repositórios oficiais. Você pode encontrar uma lista de disponíveis em repositórios de Ikoula e instruções de instalação a este endereço.

Aviso : Antes de fazer alterações ao seu sistema ainda estão planejando um backup de seus arquivos em caso de manuseamento incorrecto.
Em um Servidor produção, acho que executar essas operações durante horários de pico, para minimizar o impacto de suas ações.

Para a instalação de nossa instância de LoadBalancing sob Cloudstack precisamos de serviço HA Proxy.

Configurar o Proxy HA

Para instalar a versão HA Proxy 1.5, execute o seguinte comando em seu terminal
 apt-get install haproxy 
Se você quiser a versão mais recente da versão Proxy HA 1.6, execute os seguintes comandos
# Ajout du repo
echo deb http://httpredir.debian.org/debian jessie-backports main | tee /etc/apt/sources.list.d/backports.list
apt-get install debian-keyring
# Recuperation de la cle gpg
gpg --keyring /usr/share/keyrings/debian-keyring.gpg --export bernat@debian.org |  apt-key add -
# Mise a jour des depots
apt-get update
# Installation de haproxy
apt-get install haproxy -t jessie-backports-1.6

HA a ativação de Proxy

HA Proxy está instalado, agora vamos habilitá-lo, alterando o valor ENABLED =0 por ENABLED =1 em ambos os arquivos /etc/default/haproxy et /etc/init.d/haproxy
# activation de HA Proxy dans /etc/default/haproxy
sed -i "s/ENABLED=0/ENABLED=1/g" /etc/default/haproxy
# activation de HA Proxy dans /etc/init.d/haproxy
sed -i "s/ENABLED=0/ENABLED=1/g" /etc/init.d/haproxy

HA configuração Proxy

HA, configuração de Proxy é executada no arquivo /etc/haproxy/haproxy.cfg .

Aqui está um exemplo de configuração d 'HAProxy
global
        log /dev/log    local0
        log /dev/log    local1 notice
        chroot /var/lib/haproxy
        user haproxy
        group haproxy
        daemon
 
defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        contimeout 5000
        clitimeout 50000
        srvtimeout 50000
        errorfile 400 /etc/haproxy/errors/400.http
        errorfile 403 /etc/haproxy/errors/403.http
        errorfile 408 /etc/haproxy/errors/408.http
        errorfile 500 /etc/haproxy/errors/500.http
        errorfile 502 /etc/haproxy/errors/502.http
        errorfile 503 /etc/haproxy/errors/503.http
        errorfile 504 /etc/haproxy/errors/504.http
 
listen cluster_web xxx.xxx.xxx.xxx:80

        mode http

        balance roundrobin
 

        option httpclose
        option forwardfor
 

        server web1 yyy.yyy.yyy.yyy:80 check
        server web2 zzz.zzz.zzz.zzz:80 check
 

        stats enable
        stats hide-version
        stats refresh 30s
        stats show-node
        stats auth ikoula:ikoula
        stats uri  /stats

O endereço ip xxx.xxx. xxx.xxx é o endereço ip do nosso Servidor balanceamento de carga, os em dereços yyy.yyy.yyy.yyy e zzz.zzz.zzz.zzz são nossos ServidorWeb s atrás o Balanceador de carga .

listen cluster_web O endereço e a porta em que o serviço de Proxy HA precisará escutar conexões.
mode O modo de balanço, no nosso exemplo http para web
balance O algoritmo usado para distribuição de carga, em nosso exemplo RoundRobin
Os valores disponíveis são : RoundRobin, fonte, menos de conexão, a primeira resposta
server Declaração dos servidores diferentes para trás nossos Balanceador de carga , no nosso exemplo web1 et web2.
stats Para configurar o acesso para a página de estatísticas de Balanceador de carga
No nosso exemplo, a página será acessível em xxx.xxx. xxx.xxx /estatísticas com ikoula/ikoula como login e senha

HA Proxy iniciar

Agora podemos começar HA Proxy
 service haproxy start 

ou

 etc/init.d/haproxy start 
Tornando-no nosso ip xxx.xxx. xxx.xxx /estatísticas e na utilização de nosso login e senha, chegamos na página de administração de Proxy HA.

HAProxyStats.png

Podemos agora ligar para nosso Servidors en SSH digitação
# Serveur web1
ssh root@yyy.yyy.yyy.yyy
# Serveur web2
ssh root@zzz.zzz.zzz.zzz

Configurar o Servidors Web

Se o Servidors ainda não tem serviço de web, ele instala um, por exemplo
 apt-get install apache2 php5 
Uma vez instalado os serviços da web, ou se o Servidor Já tive uma web 1 e web 2 aparecem em verde na página de estatísticas

HAProxyStat2.png

Se você tentar acessar ao Servidor usando o endereço xxx.xxx.xxx você cai na página de teste a Servidor web1 ou web 2 De acordo com a alocação feita

HAProxSite.png

Configurar a persistência

A persistência por IP de origem

Para configurar a persistência por IP de origem simplesmente alterar o modo de balanço no arquivo de configuração de Proxy HA adicionando opções Pegajosa .

Habilitar a persistência por IP de origem através de um vara-tabela , aqui está o exemplo com nossa configuração
listen cluster_web xxx.xxx.xxx.xxx:80

        mode http

       # Modifier le mode de balancement
       balance source
       hash-type consistent

       # Ajouter une stick-table afin de garder en mémoire les IP
       stick-table type ip size 1m expire 1h
       stick on src

        option httpclose
        option forwardfor

        server web1 yyy.yyy.yyy.yyy:80 check
        server web2 zzz.zzz.zzz.zzz:80 check

        stats enable
        stats hide-version
        stats refresh 30s
        stats show-node
        stats auth utilisateur:motdepasse
        stats uri  /stats

O exemplo acima permite implementar a persistência de balanceamento de carga baseado no IP do usuário. Esta persistência é assegurada através de um vara-tabela Quem se lembra do IPS que contactaram o Servidor.
Isto stick-table tem um tamanho de 1MB e expira a cada hora. Quando um usuário é conectado a um Servidor Ele permanece nessa mesmo Servidor até ao termo da tabela ou no caso de erro de Servidor.

Nota : A memória necessária para o stick-table é relativamente baixa, na faixa de 25.000 endereços para 1MB. Qualquer 40MB para 1.000.000 de endereços IP.

Pela persistência de Cookie

Um outro método para garantir a persistência do balanço é usar um cookie. Um cookie é um pequeno arquivo colocado no computador do usuário para armazenar informações de Servidor.

Método de cookie-inserir

O primeiro exemplo é a criação de um cookie adicional especificamente projetado para HA Proxy.

Edite o arquivo de configuração de Proxy HA e adicione as seguintes linhas para nossa configuração
listen cluster_web xxx.xxx.xxx.xxx:80

        mode http

        # Modifier le mode de balancement
        balance roundrobin

        # option du cookie
        cookie SRVNAME insert indirect nocache

        option httpclose
        option forwardfor

        server web1 yyy.yyy.yyy.yyy:80 cookie WeB1 check
        server web2 zzz.zzz.zzz.zzz:80 cookie WeB2 check

        stats enable
        stats hide-version
        stats refresh 30s
        stats show-node
        stats auth utilisateur:motdepasse
        stats uri  /stats

O exemplo acima permite implementar nossas sessões através de uma persistência de cookie dedicado. Ao conectar o -balanceador de carga redirecionará o cliente para um dos dois Servidors e adicionar um cookie chamado SRVNAME com o valor WeB1 ou WeB2 após a distribuição feita.
A opção indirect evita a geração de um cookie, se outro cookie válido está presente para o visitante e NoCache impede o armazenamento em cache do cookie entre o visitante e o -balanceador de carga .
HACookieInsert.png

Método cookie-prefixo

O segundo exemplo é o pre-fixage de um cookie pré-existentes, esse método pode ser útil se você quiser persistência somente em uns biscoitos, ou que você não quer criar um cookie dedicado para HA Proxy.

Edite o arquivo de configuração de Proxy HA e adicione as seguintes linhas para nossa configuração
listen cluster_web xxx.xxx.xxx.xxx:80

        mode http

        # Modifier le mode de balancement
        balance roundrobin

        # option du cookie
        cookie PHPSESSID prefix indirect nocache

        option httpclose
        option forwardfor

        server web1 yyy.yyy.yyy.yyy:80 cookie WeB1 check
        server web2 zzz.zzz.zzz.zzz:80 cookie WeB2 check

        stats enable
        stats hide-version
        stats refresh 30s
        stats show-node
        stats auth utilisateur:motdepasse
        stats uri  /stats

O exemplo acima permite configurar a persistência das nossas sessões através de um prefixo a um cookie existente. Ao conectar o -balanceador de carga redirecionará o cliente para um dos dois Servidors e adicionar um prefixo para o cookie nomeado PHPSESSID com o valor WeB1 ou WeB2 após a distribuição feita.
A opção indirect evita a geração de um cookie, se outro cookie válido está presente para o visitante e nocache impede o armazenamento em cache do cookie entre o visitante e o -balanceador de carga .
HACookiePrefix.png

Configurar o Keep-Alive

Dependendo da configuração, você pode precisar ativar o Manter-alive .
O Manter-alive permite o -balanceador de carga para reutilizar a conexão existente entre o Servidor e o usuário, em vez de iniciar uma nova conexão para cada solicitações.

Edite o arquivo de configuração de Proxy HA e adicione as seguintes linhas para nossa configuração
listen cluster_web xxx.xxx.xxx.xxx:80

        mode http

        balance roundrobin

        # Modifier la directive de fermeture
        option http-server-close
        # Ajouter un delai de 3000 secondes avant fermeture
        timeout http-keep-alive 3000

        option forwardfor

        server web1 yyy.yyy.yyy.yyy:80 check
        server web2 zzz.zzz.zzz.zzz:80 check

        stats enable
        stats hide-version
        stats refresh 30s
        stats show-node
        stats auth utilisateur:motdepasse
        stats uri  /stats

Implementar o gerenciamento de SSL

Pode ser útil configurar o redirecionamento SSL seu gerenciamento de site, por exemplo, no caso de um site que possui um espaço seguro.
A fim de implementar o redirecionamento HTTP -> HTTPS na sua HA Proxy a documentação está disponível: fr: Mettre en place une redirection SSL HA Proxy



Não tem permissão para colocar comentários.