Crie um cluster local com o Vagrant / CoreOS / Docker

1

Estou tentando criar um ambiente local para fins de teste composto de:

  • um cluster Vagrant CoreOS (3 nós)
  • um contêiner Docker lançado com uma imagem Nginx carregada, iniciada em um nó

Eu instalei o Vagrant e CoreOS com sucesso. Etcd está em funcionamento e eu joguei muito com o Fleet. Também lancei um serviço de frota de contêineres Nginx. O que eu realmente não consigo descobrir é:

  • Como posso encaminhar o tráfego em um contêiner específico? Eu quero que apontando o meu navegador local para um endereço local (ou seja, example.dev), o cluster responde com o recipiente Nginx direito (colocado em algum lugar no cluster).
  • Um proxy é uma solução apropriada? Se não, existe algo criado para esse propósito?

Obrigado antecipadamente e sinta-se à vontade para perguntar mais detalhes que eu possa ter esquecido!

    
por AcidCrash 04.03.2015 / 14:48

1 resposta

0

A resposta simples é apenas editar o arquivo de hosts locais, por exemplo, /etc/hosts no Linux ou OS X ou C:\Windows\System32\drivers\etc\hosts em uma caixa típica do Windows.

Se você quer algo mais produtivo do que uma solução rápida para desenvolvimento, então o que você precisa é de um proxy reverso como nginx ou haproxy e tê-lo configurado automaticamente pela disponibilidade de contêineres nginx de backend.

  • cada contêiner nginx de back-end precisará de um serviço "sidekick" para anunciar sua disponibilidade para o etcd
  • execute confd para ouvir as alterações do etcd e atualizar a configuração do proxy reverso

Isso permite rotear uma única porta no proxy reverso para qualquer número de serviços nginx de backend que precisam apenas escutar na rede privada.

Eu escrevi uma ilustração mais detalhada dessa abordagem aqui .

    
por 05.03.2015 / 16:39