Pesquisa de site

Como criar, implantar e iniciar máquinas virtuais no OpenStack


Neste guia aprenderemos como criar imagens e iniciar uma instância de imagem (máquina virtual) no OpenStack e como obter controle sobre uma instância via SSH.

Requisitos

  1. Instale OpenStack no RHEL e CentOS 7
  2. Configurar o serviço de rede OpenStack

Etapa 1: Alocar IP flutuante para OpenStack

1. Antes de implantar uma imagem OpenStack, primeiro você precisa garantir que todas as peças estejam no lugar e começaremos alocando o IP flutuante.

O IP flutuante permite acesso externo de redes externas ou da Internet a uma máquina virtual Openstack. Para criar IPs flutuantes para o seu projeto, faça login com suas credenciais de usuário e vá para Projeto -> Computar -> Acessar e Segurança -> guia IPs flutuantes e clique em Alocar IP para o projeto.

Escolha Pool externo e clique no botão Alocar IP e o endereço IP deverá aparecer no painel. É uma boa ideia alocar um IP flutuante para cada instância executada.

Etapa 2: crie uma imagem OpenStack

2. As imagens OpenStack são apenas máquinas virtuais já criadas por terceiros. Você pode criar suas próprias imagens personalizadas em sua máquina instalando um sistema operacional Linux em uma máquina virtual usando uma ferramenta de virtualização, como KVM, VirtualBox, VMware ou Hyper-V.

Depois de instalar o sistema operacional, basta converter o arquivo em raw e carregá-lo em sua infraestrutura de nuvem OpenStack.

Para implantar imagens oficiais fornecidas pelas principais distribuições do Linux, use os seguintes links para baixar as imagens empacotadas mais recentes:

  1. CentOS 7 – http://cloud.centos.org/centos/7/images/
  2. CentOS 6 – http://cloud.centos.org/centos/6/images/
  3. Fedora 23 – https://download.fedoraproject.org/pub/fedora/linux/releases/23/Cloud/
  4. Ubuntu – http://cloud-images.ubuntu.com/
  5. Debian – http://cdimage.debian.org/cdimage/openstack/current/
  6. Windows Server 2012 R2 – https://cloudbase.it/windows-cloud-images/#download

As imagens oficiais também contêm o pacote cloud-init, que é responsável pelo par de chaves SSH e pela injeção de dados do usuário.

Neste guia iremos implantar uma imagem de teste, para fins de demonstração, baseada em uma imagem leve da nuvem Cirros que pode ser obtida visitando o seguinte link http://download.cirros-cloud.net/0.3.4/.

O arquivo de imagem pode ser usado diretamente do link HTTP ou baixado localmente em sua máquina e carregado na nuvem OpenStack.

Para criar uma imagem, acesse o painel da web OpenStack e navegue até Projeto -> Computar -> Imagens e clique em botão Criar imagem. No prompt da imagem, use as seguintes configurações e clique em Criar imagem quando terminar.


Name: tecmint-test
Description: Cirros test image
Image Source: Image Location  #Use Image File if you’ve downloaded the file locally on your hard disk
Image Location: http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img 
Format: QCOWW2 – QEMU Emulator
Architecture: leave blank
Minimum Disk: leave blank
Minimum RAM: leave blank
Image Location: checked
Public: unchecked
Protected: unchecked

Etapa 3: iniciar uma instância de imagem no OpenStack

3. Depois de criar uma imagem, você estará pronto. Agora você pode executar a máquina virtual com base na imagem criada anteriormente em seu ambiente de nuvem.

Vá para Projeto -> Instâncias e clique no botão Iniciar Instância e uma nova janela aparecerá.

4. Na primeira tela adicione um nome para sua instância, deixe a Zona de Disponibilidade como nova, use uma contagem de instâncias e clique no botão Avançar continuar.

Escolha um Nome da Instância descritivo para sua instância, pois esse nome será usado para formar o nome do host da máquina virtual.

5. Em seguida, selecione Imagem como Fonte de inicialização, adicione a imagem de teste Cirros criada anteriormente pressionando + botão e clique em Avançar para prosseguir.

6. Aloque os recursos da máquina virtual adicionando um tipo mais adequado às suas necessidades e clique em Avançar para prosseguir.

7. Por fim, adicione uma das redes OpenStack disponíveis à sua instância usando o botão + e clique em Iniciar Instância para iniciar a máquina virtual.

8. Assim que a instância for iniciada, clique na seta para a direita no botão de menu Criar instantâneo e escolha Associar IP flutuante.

Selecione um dos IP flutuantes criados anteriormente e clique no botão Associar para tornar a instância acessível a partir de sua LAN interna.

9. Para testar a conectividade de rede da sua máquina virtual ativa, emita um comando ping no endereço IP flutuante da instância de um computador remoto na sua LAN.

10. Caso não haja nenhum problema com sua instância e o comando ping seja bem-sucedido, você poderá fazer login remotamente via SSH em sua instância.

Use o utilitário View Log da instância para obter as credenciais padrão do Cirros conforme ilustrado nas capturas de tela abaixo.

11. Por padrão, nenhum servidor de nomes DNS será alocado do servidor DHCP da rede interna para sua máquina virtual. Esse problema leva a problemas de conectividade de domínio da contraparte da instância.

Para resolver esse problema, primeiro pare a instância e vá para Projeto -> Rede -> Redes e edite a sub-rede adequada pressionando o botão Detalhes da sub-rede.

Adicione os servidores de nomes DNS necessários, salve a configuração, inicie e conecte-se ao console da instância para testar se a nova configuração foi aplicada executando ping em um nome de domínio. Use as capturas de tela a seguir como guia.

Caso você tenha recursos físicos limitados em sua infraestrutura e algumas de suas instâncias se recusem a iniciar, edite a seguinte linha do arquivo de configuração nova e reinicie a máquina para aplicar as alterações.


vi /etc/nova/nova.conf

Altere a seguinte linha para ficar assim:


ram_allocation_ratio=3.0

Isso é tudo! Embora esta série de guias tenha apenas arranhado a superfície do gigantesco OpenStack, agora você tem o conhecimento básico para começar a criar novos locatários e usar imagens reais do sistema operacional Linux para implantar máquinas virtuais em sua própria infraestrutura de nuvem OpenStack.