Visto que o CoreOS foi projetado para executar contêineres docker, gostaria de saber se há uma maneira de mapear os serviços de back-end em um balanceador de carga HTTP diretamente para as imagens do Docker em execução em uma única instância do CoreOS.
Esta é a estrutura para a qual estou indo:
www.example.com/marketing -> docker:marketing-app
www.example.com/accounts -> docker:accounts-app
www.example.com/ -> docker:www-app
...
Eu sei que isso pode ser feito com o Kubernetes usando o Ingress - cada contêiner docker será visto como um serviço de back-end pelo balanceador de carga HTTP, isso é o que usarei para produção; para minha configuração de teste/qa/demo, estou procurando algo muito mais simples, uma única instância grande do CoreOS, executando vários contêineres docker e tendo exatamente o mesmo balanceador de carga HTTP (que será usado mais tarde no prod) apontar para contêineres docker em a instância do CoreOS.
O CoreOS tem essa funcionalidade?
Caso contrário, 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 diferentes contêineres?
Nos GCP L7 LBs, você:
LB Frontend >> LB Backend >> Grupo de instâncias >> Instância >> porta
Assim, todo o trabalho duro acontece no balanceador de carga.
Os passos para conseguir o que você quer são:
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 sejam acessíveis por essas portas.
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.
Certifique-se de que o host CoreOS pertença a um grupo de instâncias.
Vá em frente e configure seus back-ends LB (Edite a configuração 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 back-end diferente)
Continue configurando as regras de host e caminho para enviar o tráfego aos back-ends conforme desejar.
Configure seu front-end (e IP e, opcionalmente, certificados SSL)
Dê 5 minutos para construir e testar suas coisas. Você Terminou!
Depois de entender como funciona, é realmente fácil de gerenciar.
Consulte https://cloud.google.com/compute/docs/load-balancing/http