1.1. Visão Geral do OpenStack
O OpenStack é um sistema operacional em nuvem que gerencia pools de recursos computacionais, de armazenamento e de rede em um data canter inteiro. Todos os recursos são administrados e configurados via APIs comum e mecanismos de autenticação. Além disso, os administradores podem controlar os recursos por meio de uma interface web.
1.2. Introdução ao OpenStack
O OpenStack é uma comunidade, projeto e software de código aberto que possibilita a criação de nuvens públicas e privadas. Ele fornece uma plataforma ou conjunto de ferramentas para implementar nuvens, ajudando organizações a operar serviços de computação e armazenamento em nuvem. O OpenStack é escalável e flexível, atendendo desde pequenas até grandes nuvens. Ele é composto por vários componentes principais que trabalham juntos para executar tarefas específicas.
1.3. Funcionamento do OpenStack
O OpenStack funciona como um framework que une serviços de computação, armazenamento, rede, gerenciamento e operações para criar soluções de infraestrutura como serviço (IaaS). Cada serviço fornece APIs para integração com outros sistemas.
1.4. Evolução das Versões
O primeiro lançamento do OpenStack foi Austin, nomeado em homenagem à capitol do estado americano do Texas. As versões subsequentes são nomeadas em ordem alfabética e normalmente recebem o nome de cidades onde são realizadas conferências da OpenStack Foundation. Atualmente, a fundação tem 8 membros de platina, incluindo Huawei, Rackspace e Tencent, além de 24 membros de ouro.
1.5. OpenStack e Virtualização
O OpenStack foca principalmente na camada de controle, abstraindo recursos computacionais, de armazenamento e de rede em pools. Ele executa operações de controle nestes pools e expõe serviços orientados ao usuário.
1.6. OpenStack na Computação em Nuvem
O OpenStack serve como um framework para integrar produtos de software e hardware de vários domínios, criando soluções para cenários empresariais. Ele se concentra em questões como abertura, ecossistema ativo, confiabilidade e desempenho. A computação em nuvem se diferencia da virtualização por fornecer capacidade IT como serviço, com cobrança baseada no consumo e isolamento multi-inquilino.
1.7. Componentes do OpenStack
O OpenStack é composto por 41 componentes, incluindo:
- Nova: Gerencia recursos computacionais
- Glance: Fornece serviços de imagem
- Swift: Armazenamento de objetos
- Cinder: Serviços de armazenamento em blocos
- Neutron: Gerencia rede
- Keystone: Sistema de autenticação
- Horizon: Interface web adminstrativa
- Heat: Serviço de orquestração
- Instalação do OpenStack em Modo All-In-One
2.1. Configuração da Máquina Virtual
Configurar os seguintes parâmetros na VM:
- Definir tamanho do disco para 200 GB
- Configurar memória para 16 GB
- Configurar processadores
2.2. Verificando o Endereço IP
[root@YL ~]# ip addr
2.3. Gerando um Endereço IP Dinâmico
Se o IP estiver funcionando corretamente, este passo pode ser omitido.
2.4. Configurando a Rede
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
[root@localhost network-scripts]# vi ifcfg-ens33
2.5. Reiniciando a Interface de Rede
[root@YL ~]# systemctl restart network
[root@YL ~]# ping www.google.com
2.6. Desativando o Firewall no Início
[root@YL ~]# systemctl disable firewalld
2.7. Desativando o SELinux
[root@YL ~]# vim /etc/selinux/config
[root@YL ~]# cat /etc/selinux/config
SELINUX=desativado
2.8. Parando o Serviço NetworkManager
[root@YL ~]# systemctl stop NetworkManager
[root@YL ~]# systemctl enable network
[root@YL ~]# systemctl start network
2.9. Modificando o Nome do Host
[root@YL ~]# hostnamectl set-hostname node-a
[root@YL ~]# vim /etc/hosts
2.10. Alterando os Repositórios
Dois métodos são sugeridos:
- Usando ferramentas de conexão remota como FinalShell
- Usando SCP para transferir arquivos de configuração
2.11. Instalando Software de Sincronização de Tempo
[root@node-a yum.repos.d]# yum install -y chrony
2.12. Configurando Servidores NTP
[root@node-a yum.repos.d]# vim /etc/chrony.conf
2.13. Preparando os Repositórios
[root@node-a yum.repos.d]# yum -y update
2.14. Instalando o Packstack
[root@node-a ~]# yum -y install openstack-packstack
2.15. Executando a Instalação
[root@node-a ~]# packstack --allinone
2.16. Verificando a Versão e Acessando o Painel
[root@node-a ~]# source /root/keystonerc_admin
[root@node-a ~(keystone_admin)]# cat /root/keystonerc_admin
export OS_USERNAME=admin
export OS_PASSWORD='c245f92437f1465a'
export OS_AUTH_URL=http://192.168.220.130:5000/v3
- Gerenciamento pelo Painel de Controle
3.1. Serviços e Funcionalidades
- Aodh: Sistema de alarmes que monitora o uso de recursos
- Nova: Gerencia a vida útil de instâncias de máquinas virtuais
- Keystone: Sistema de autenticação central
- Glance: Armazena e recupera imagens de sistemas operacionais
- Ceilometer: Coleta dados para métricas e faturamento
- Neutron: Fornecer serviços de rede
- Swift: Armazenamento de objetos
- Cinder: Armazenamento em blocos
3.2. Gerenciamento de Computação
- Visão Geral: Mostra o status e cotas dos recursos
- Instâncias: Gerencia máquinas virtuais
- Imagens: Gerencia templates de sistemas
- Chaves Públicas: Gerencia pares de chaves SSH
- Grupos de Hosts: Agrupa máquinas virtuais
3.3. Gerenciamento de Armazenamento
- Volumes: Armazenamento persistente para máquinas virtuais
3.4. Gerenciamento de Redes
- Topologia: Visualiza a estrutura de rede
- Redes: Gerencia redes virtuais
- Rotas: Configura regras de roteamento
- Grupos de Segurança: Define regras de firewall
- IPs Flutuantes: Atribui IPs públicos
- Encaminhamento: Gerencia tráfego de rede
3.5. Armazenamento em Nuvem
- Contêineres: Unidades básicas de armazenamento
3.6. Gerenciamento de Usuários
- Projetos: Define os limites e recursos para cada tenant
- Criação de Instâncias
4.1. Configuração Inicial
Configurar credenciais de usuário e senhas. O usuário demo não tem acesso a seções administrativas.
4.2. Upload e Criação de Imagens
É possível carregar imagens no formato QCOW2, que suporta compressão, criptografia e snapshots. As imagens podem ser públicas, protegidas ou privadas.
4.3. Definindo Regras de Segurança
Configurar regras de firewall para permitir conexões SSH e ICMP.
4.4. Gerenciamento de Chaves
Criar e associar pares de chaves SSH às instâncias para acesso seguro.
4.5. Criação de Instâncias
Criar máquinas virtuais como:
- Instância Cirros: Sistema operacional leve
- Instância Fedora: Distribuição Linux moderna
- Criação de Ambiente
5.1. Criação de Modelos
Para implantação em massa, é recomendado criar um modelo baseado em CentOS Stream 8 com configuração mínima. É importante garatnir que a soma das memórias das VMs não exceda a memória disponível no host físico.