Estes são os requisitos de rede para uma execução bem-sucedida do Autopilot OpenStack.
Acesso à Internet
O MAAS e seus nodos precisarão ser capazes de acessar a internet, ou pelo menos esses sites (http e https):
- maas.ubuntu.com
- cloud-images.ubuntu.com
- streams.canonical.com
- um arquivo Ubuntu (archive.ubuntu.com ou um espelho)
- api.jujucharms.com
- manage.jujucharms.com
- jujucharms.com
- store.juju.ubuntu.com
- keyserver.ubuntu.com
- ppa.launchpad.net
- usn.ubuntu.com
Se abrir buracos em um firewall, lembre-se de que esses endereços podem ser resolvidos para vários IPs.
Layout de rede
Existem dois layouts de rede básicos que suportamos. Vamos chamá-los de "rede plana" e "rede dividida". Em ambos os modelos, pelo menos um nó precisa ter duas interfaces de rede conectadas a redes que o MAAS conhece. Vamos chamá-los de redes privadas e públicas.
Tenha em mente que os IPs flutuantes do OpenStack sempre virão da rede pública.
Nos diagramas a seguir, a "nuvem" que está acima do roteador não significa necessariamente a Internet diretamente, apenas que, eventualmente, os dispositivos nessa rede podem alcançar a Internet.
Rede plana
O modelo de rede plana é o mais básico. Aqui nós enganamos o sistema e simplesmente dizemos que as redes públicas e privadas são as mesmas e conectam as duas placas de rede a ele:
Os IPs flutuantes do OpenStack virão da mesma rede que os IPs do nó MAAS neste cenário.
Rede dividida
Na topologia de rede dividida, temos duas redes distintas reais:
O MAAS gerencia apenas a rede privada, para a qual configurará o DNS e o DHCP, mas deve conhecer o público. Uma maneira fácil de lidar com isso automaticamente é conectar um segundo NIC à máquina MAAS e conectá-lo à rede pública, conforme mostrado. O MAAS então saberá automaticamente sobre isso.
Instalando o MAAS
É assim que o servidor MAAS deve ser instalado:
- Instale o servidor Ubuntu 14.04 LTS na máquina que você deseja usar para o MAAS
-
sudo add-apt-repository ppa:maas-maintainers/stable
-
sudo apt-get update
-
sudo apt-get install maas
- Acesse a interface do usuário do MAAS em
http://maas.ip/MAAS/
e siga as instruções para criar o administrador e faça login com essas credenciais - Importar imagens de disco para 14.04 LTS (Trusty) 64 bits. Isso levará alguns minutos, dependendo da sua largura de banda.
- Adicione sua chave SSH ao seu perfil de usuário -
http://maas.ip/MAAS/account/prefs/
- Vá para a guia Redes no MAAS e verifique se você criou redes automaticamente para cada NIC do seu servidor MAAS. Você pode ter redes criadas para interfaces virtuais como
lxcbr0
ouvirbr0
: não nos importamos com elas, apenas sobre interfaces físicas reais. - Preencha os detalhes ausentes, como gateway e DNS, nas redes que foram criadas automaticamente para cada NIC
Configurando o cluster MAAS
- Clique na guia "Clusters" e, em seguida, clique no seu cluster
- Escolha um nome de zona DNS
- Você deverá ver uma lista de NICs na máquina. Clique no símbolo de edição da NIC conectada à rede privada, ou seja, a rede na qual todos os nós são
- Defina esta NIC para gerenciar o DHCP e o DNS.
- Se necessário, configure o IP, a máscara de sub-rede e o IP de transmissão.
- Defina o "IP do roteador" como o gateway padrão para essa rede privada
- Crie seu espaço de rede em intervalos como este:
- para o caso de rede dividida: intervalo dinâmico e intervalo estático
- para o caso de rede plana: intervalo dinâmico , intervalo estático e intervalo de IP flutuante
Onde:
- intervalo dinâmico : usado por todas as NICs nos nós enquanto eles se cadastram e comissionam.
- intervalo estático : usado pelos nós quando eles são alocados a um usuário
- intervalo de IP flutuante : usado pelos IPs flutuantes do OpenStack. Esta não é uma configuração do MAAS, mas você deve deixar espaço para eles
Salve as alterações.
Alistar e comissionar máquinas
- Verifique se todas as outras máquinas estão definidas para inicialização PXE, se possível, desative todas as outras opções de inicialização (incluindo disco local) no BIOS
- Inscrever as máquinas, ligando-as. Isso geralmente pode ser feito por algum tipo de console virtual. Eventualmente todos aparecerão na lista de nós no MAAS e serão desligados novamente.
- Edite cada máquina na lista de nós e preencha os parâmetros Power type e power para que o MAAS possa ativá-los e desativá-los conforme necessário
- Selecione todas as máquinas e, usando a lista suspensa Ação em massa, encarregue-as
- Aguarde até que todas as máquinas sejam comissionadas (por exemplo,no estado Pronto)
Redes MAAS
- Vá para a guia Redes e verifique se você tem os nós listados na sua rede privada e com suas respectivas NICs selecionadas
- Se estiver usando a topologia de rede plana, o nó que tiver duas NICs deve ter sido detectado automaticamente como tendo ambas as NICs conectadas à rede. Apenas verifique se este é o caso.
- Se estiver usando a topologia de rede dividida, edite a rede pública e procure o nó que possui duas NICs. Selecione a NIC conectada à rede pública.
Testando coisas
Para ter certeza de que o juju pode dirigir o MAAS e prover máquinas, vamos dar uma olhada. É melhor experimentá-lo agora e corrigir quaisquer problemas antes que serviços mais complexos, como o Autopilot, façam uso dele.
Na máquina que está sendo usada para conduzir a instalação, execute estes comandos:
-
sudo add-apt-repository ppa:juju/stable
-
sudo apt-get update
-
sudo apt-get install juju-core juju-deployer
- Siga Juju docs para configurar o MAAS
O restante deste documento assumirá que o ambiente MAAS Juju que você acabou de configurar é o padrão.
Para um teste simples, implantaremos o Ubuntu em todos os nós. Na máquina que está conduzindo a instalação, execute estes comandos:
-
juju bootstrap
isto usará um dos nós MAAS para inicializar o juju. Levará alguns minutos para concluir -
juju deploy ubuntu -n N
deployubuntu
para todos os nós restantes. SubstituaN
pelo número de nós menos um, que foi usado para o bootstrap acima. Este comando retorna após alguns segundos, mas apenas inicia o processo. - observe a lista de nós na interface do usuário do MAAS. Você deve ver os nós sendo alocados e implantados
- assista a saída de
juju status
periodicamente até que tudo seja iniciado - faça login em um nó aleatório via ssh e tente acessar a internet a partir dele. Por exemplo, tente
juju ssh ubuntu/0
ewget http://www.ubuntu.com
de lá - se tudo funcionou corretamente, destrua o ambiente
juju destroy-environment $(juju env)
O MAAS está configurado e pronto para ser usado pelo Autopilot OpenStack.