Instalando e Configurando Ambientes de OpenStack com Packstack

 

OpenStack é uma ferramenta de gerenciamento de nuvens privadas que mais e mais empresas tem mostrado interesse em apostar. Nesse artigo veremos o que é o OpenStack, como fazer para instalar um ambiente utilizando o Packstack, ferramenta de automação escrita no Puppet.

O que é o Openstack?

OpenStack é um conjunto de ferramentas de gerenciamento de virtualização, mantidos pela comunidade, com o intuito de criar um serviço de nuvem privado. O projeto começou a ser desenvolvido pela NASA e a Rackspace, cada um fornecendo parte dos códigos para o projeto, sendo eles respectivamente o Nebula e o Rackspace Cloud Files. Hoje empresas como a Canonical, SUSE, e a Red Hat dão suporte total a ferramenta, e várias outras adotaram essa solução de Cloud, como o Mercado Livre e a UOL Cloud Openstack.

Como dito anteriormente, a solução é formada por diversos projetos, sendo os principais:

  • Nova: Serviço de gerenciamento de computação;
  • Neutron: Serviço de gerenciamento de redes, load balances, roteadores e dhcp;
  • Glance: Serviço de gerenciamento de imagens e snapshots de máquinas;
  • Keystone: Serviço de gerenciamento de autenticação ao serviços do OpenStack;
  • Cinder: Serviço de gerenciamento de discos (block storage);
  • Horizon: Serviço web para gerencia do ambiente de OpenStack.

Você consegue conferir uma lista de todos os projetos através do link no final do artigo. Lá contém todos que existem, além do nível de maturidade de cada projeto, que permite você decidir se deve adotar ou não em seu ambiente ele.

Instalando o PackStack

Packstack é uma ferramenta desenvolvida pela comunidade para implantar o OpenStack de forma fácil e sem dores de cabeça. Se trata de um utilitário que utiliza os módulos do Puppet para fazer o deploy. Nesse artigo iremos utilizar ele para configurar um ambiente de Openstack utilizando três máquinas (duas compute e uma controller).

Primeiramente, desative o firewall e o NetworkManager, e então habilite o serviço network. Isso é necessário visto que o Openstack ainda não trabalha bem com ambas as ferramentas, sendo que usa o iptables como firewall e o network como gerenciador de interfaces de rede.

# systemctl disable firewalld
# systemctl stop firewalld
# systemctl disable NetworkManager
# systemctl stop NetworkManager
# systemctl enable network
# systemctl start network

O próximo passo é instalar o repositório EPEL (Extra Packages for Enterprise Linux), pois é nele que se encontram as dependências e o repositório do Openstack de acordo com a release.

# yum install -y https://rdoproject.org/repos/rdo-release.rpm

Instale o repositório do Openstack Queens em sua máquina e então atualize o servidor para que baixe as dependências do Openstack (como o MySQL).

# yum install -y centos-release-openstack-queens
# yum-config-manager --enable openstack-queens
# yum update -y

Por ultimo, instale o Packstack em sua máquina. Ao término de sua instalação iremos começar a construir o arquivo de configuração para a instalação do Openstack Queens.

# yum install -y openstack-packstack

Criando o Arquivo de Configuração

Tecnicamente, para você instalar o Openstack basta você rodar o comando packstack allinone que nem abaixo e você terá a instalação pronta, porém em nosso ambiente iremos desativar alguns serviços para garantir um melhor uso de nossos recursos (já que não temos TANTO assim para comprar um servidor parrudo para instalar todos os serviços que compõem a ferramenta).

# packstack --allinone

Para criarmos uma instalação customizada, aonde podemos instalar os serviços de forma apartada, e que somente o core do produto (Neutron, Nova, Keystone, Glance e Horizon) sejam instalados iremos solicitar que ele gere para nós um arquivo de respostas. Esse arquivo contém todos os parâmetros do packstack, sendo assim podemos ativar e desativar funcionalidades, alterar aonde serão instalados os pacotes, senhas, entre outras coisas.

# packstack --gen-answer-file=all.txt

Com o arquivo gerado, abra ele e altere as opções abaixo para desativar os serviços Cinder, Swift, Ceilometer, e o AODH, que não iremos instalar.

# vim all.txt
...
CONFIG_CINDER_INSTALL=n
...
CONFIG_SWIFT_INSTALL=n
...
CONFIG_CEILOMETER_INSTALL=n
...
CONFIG_AODH_INSTALL=n

Aproveite e procure os campos CONFIG_COMPUTE_HOSTS, CONFIG_CONTROLLER_HOST e CONFIG_NETWORK_HOSTS e altere para informar os ips das máquinas que foram eleitas como compute e a que foi eleita como controller. Somente a CONFIG_NETWORK_HOSTS precisa ter o IP de todas as máquinas

# vim all.txt
...
CONFIG_COMPUTE_HOSTS=192.168.100.2,192.168.100.3
...
CONFIG_CONTROLLER_HOST=192.168.100.1
...
CONFIG_NETWORK_HOSTS=192.168.100.1,192.168.100.2,192.168.100.3

Agora basta executar o comando packstack novamente, dessa vez passando como parâmetro dele o arquivo de respostas alterado.

sudo packstack --answer-file=all.txt

O processo de instalação deve levar por volta de 1 hora e ao término deverá ser possível acessar o endereço do Openstack através do navegador usando o endereço “http://<ip da controller>”.

Abaixo segue a documentação do Packstack, para quem tiver interesse em consultar, além da documentação da Red Hat sobre o projeto.

  • https://www.rdoproject.org/install/packstack/
  • https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/2/html/Getting_Started_Guide/ch06s03s03.html
  • https://www.openstack.org/software/project-navigator/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *