Mapeamento de vários URLs por meio do balanceador de carga do Google Cloud HTTP para contêineres do Docker no CoreOS

2

Vendo como o CoreOS foi projetado para executar contêineres do Docker, fiquei me perguntando se existe uma maneira de mapear os Serviços de back-end em um balanceador de carga HTTP diretamente para imagens do Docker em execução em uma única instância do CoreOS.

Esta é a estrutura que estou procurando:

www.example.com/marketing -> docker:marketing-app
www.example.com/accounts -> docker:accounts-app
www.example.com/ -> docker:www-app
...

Sei que isso pode ser feito com Kubernetes usando o Ingress - cada contêiner da janela de encaixe será ser visto como um serviço de back-end pelo Balanceador de carga HTTP, isso é basicamente o que vou usar para produção; para minha configuração de teste / qa / demo, estou procurando algo muito mais simples, uma única instância CoreOS grande, executando vários contêineres docker e tendo exatamente o mesmo Balanceador de carga HTTP (que será usado posteriormente em prod) para contêineres docker em a instância do CoreOS.

O CoreOS tem essa funcionalidade?

Se não, que outras opções eu tenho além de iniciar um contêiner NGINX para rotear todo o tráfego do Balanceador de carga HTTP para contêineres diferentes?

    
por Jan Vladimir Mostert 02.04.2016 / 21:37

1 resposta

1

No GCP L7 LBs você tem:

LB Frontend > > Backend de LB > > Grupo de instâncias > > Instância > > porta

Assim, todo o trabalho árduo acontece no balanceador de carga.

Os passos para conseguir o que você quer são:

  1. Certifique-se de que cada contêiner tenha sua própria porta exposta na máquina host (CoreOS) e que os serviços que você deseja expor estejam acessíveis nessas portas.

  2. Crie uma regra de firewall que permita o tráfego de 130.211.0.0/22 e 35.191.0.0/16 para alcançar seu host CoreOS. - Isso é para permitir o tráfego dos balanceadores de carga para seus contêineres.

  3. Verifique se o host CoreOS pertence a um grupo de instâncias.

  4. Vá em frente e configure seus backends de LB (Edite a configuração de LB). Adicione um novo serviço de back-end por contêiner em execução na instância do CoreOS, especificando sua porta. (aqui é onde você associa cada contêiner a um backend diferente)

  5. Continue configurando as regras de host e caminho para enviar o tráfego para os back-ends da maneira desejada.

  6. Configure seu frontend (e IP e, opcionalmente, certificados SSL)

  7. Dê 5 minutos para criar e testar suas coisas. Você está feito!

Depois de entender como funciona, é muito fácil gerenciá-lo.

Veja o link

    
por 28.02.2018 / 23:25