Skip to content

Setup

Configurando o Openstack


Chegou a hora de configurar os serviços que controlam:

  • as VMs (Nova);
  • os volumes de disco (Cinder), e;
  • a estrutura de rede virtual (Neutron).

Para isso, é preciso:

  1. carregar as variáveis de ambiente e se autenticar (Keystone) no sistema - openrc;
  2. utilizar o dashboard (Horizon) para visualizar as mudanças que estão sendo feitas;
  3. importar uma imagem do Ubuntu Jammy para o Glance (servidor de imagens);
  4. criar os flavors (instance type) para as VMs;
  5. criar uma rede externa (subnet) para conectar as VMs à rede física;
  6. criar uma rede interna (subnet) e um roteador (router) para conectar as VMs à rede externa.

LEIA O DOCUMENTO INTEIRO ANTES DE INICIAR

Usando como base o link de referência e a documentação oficial para consulta.

LEIA O ROTEIRO INTEIRO ANTES DE INICIAR OS COMANDOS, A FIM DE ENTENDER O QUE É CONFIGURADO

Nessa parte do roteiro, tem as partes que precisam ser configuradas, mas não seus comandos, que estão disponíveis na documentação oficial. O que está aqui é o que você deve fazer, e não como fazer. Você deve consultar a documentação para entender como fazer.

Atenção

TODOS OS COMANDOS DEVEM SER EXECUTADOS NO TERMINAL MAIN OU CONFIGURADOS NO DASHBOARD HORIZON, E NÃO NOS NUCs!

Passo 1: Autenticação

Crie, download, o arquivo openrc com as credenciais de acesso ao OpenStack. O arquivo deve conter as seguintes variáveis de credenciais para o OpenStack.

Passo 2: Horizon

Acesse o Horizon (dashboard) como administrador e mantenha ele aberto durante todo o setup do openstack (para ver as mudanças acontecendo!).

Dica

O Domain name é : admin_domain

Tarefa 1

  1. De um print das Telas abaixo:
    1. Do Status do JUJU
    2. Do Dashboard do MAAS com as máquinas.
    3. Da aba compute overview no OpenStack Dashboard.
    4. Da aba compute instances no OpenStack Dashboard.
    5. Da aba network topology no OpenStack Dashboard.

Passo 3: Imagens e Flavors

Pense na estrutura de rede do seu KIT (Altere os IPs dos exemplos de comandos caso necessário).

Prestem muita atenção nos passos! Não copie e cole comandos sem verificar os argumentos.

Usando a documentação oficial, faça o seguinte:

  • Instale o client do Openstack no main via snap.
  • Carregue as credenciais em openrc:

    source openrc
    

  • Verifique os serviços disponíveis no Openstack:

    openstack service list
    

  • Faça pequenos ajustes na rede:

    juju config neutron-api enable-ml2-dns="true"
    juju config neutron-api-plugin-ovn dns-servers="172.16.0.1"
    

  • Importe a imagem do Ubuntu Jammy. Você precisará procurar esta imagem.

  • Analise o comando:
    openstack flavor create --help
    
  • Crie os flavors (instance type) - SEM ephemeral disk:

    Flavor Name vCPUs RAM (GB) Disk
    m1.tiny 1 1 20
    m1.small 1 2 20
    m1.medium 2 4 20
    m1.large 4 8 20

Passo 3: Rede Externa

  • Configure a rede externa. Usar uma faixa de alocação entre 172.16.7.0 e 172.16.8.255

Passo 4: Rede Interna e Roteador

  • Crie a rede interna e o roteador. Usar a subnet 192.169.0.0/24. Não use DNS.

Passo 5: Conexão

  • Importe (upload) um key-pair, usando public key (id_rsa.pub) da máquina onde está o MaaS.
Por que usar o key-pair?

O key-pair é uma chave pública que permite o acesso SSH seguro às instâncias criadas no OpenStack. Ao importar a chave pública, você pode se conectar às instâncias sem precisar usar senhas, aumentando a segurança e facilitando o gerenciamento de acesso.

  • Via o Horizon (dashboard), como administrador:

    • Adicione a liberação do SSH e ALL ICMP no security group default.
    • Verifique se a topologia de rede faz sentido. Ela deve ser semelhante ao projeto da sua rede física, porém com mais um nível dentro. Atenção: a rede não existe fisicamente, é tudo virtual.

Passo 6: Instância

  • Dispare uma instância m1.tiny com o nome client e sem Novo Volume;
  • Aloque um floating IP para a instância;
  • Teste a conexão SSH! Em caso de erro, volte e verifique se as etapas anteriores estão corretas.

Tarefa 2

  1. De um print das Telas abaixo:
    1. Do Dashboard do MAAS com as máquinas.
    2. Da aba compute overview no OpenStack.
    3. Da aba compute instances no OpenStack.
    4. Da aba network topology no OpenStack.
  2. Enumere as diferencas encontradas entre os prints das telas na Tarefa 1 e na Tarefa 2.
  3. Explique como cada recurso foi criado.

Escalando os nós


No OpenStack, escalar os nós de configuração é essencial para melhorar a capacidade, a resiliência e o desempenho dos serviços em um ambiente de nuvem. Ao adicionar novos nós de computing e block storage, a infraestrutura ganha flexibilidade para lidar com o aumento de carga e a demanda por recursos.

Benefícios da Escala dos Nós de Configuração Aumento de Capacidade de Processamento: Ao escalar os nós de computing, é possível executar mais instâncias de máquinas virtuais (VMs) simultaneamente, o que permite atender a mais usuários e aplicações. Esse aumento de capacidade é fundamental para garantir o atendimento à demanda, especialmente em ambientes que precisam se adaptar rapidamente a flutuações de uso.

Alta Disponibilidade e Tolerância a Falhas: A distribuição de serviços críticos, como computing e block storage, em múltiplos nós contribui para uma arquitetura mais robusta. Com mais nós, falhas em uma máquina têm impacto reduzido no sistema geral, uma vez que as cargas podem ser automaticamente redirecionadas para outros nós ativos.

Melhoria de Desempenho e Latência Reduzida: Com mais nós de armazenamento e computação, os dados e os processos estão fisicamente mais próximos dos recursos e das VMs que os utilizam, reduzindo latências de acesso e melhorando a eficiência geral do sistema.

Escalabilidade Horizontal: Em vez de aumentar a capacidade de uma única máquina (escalabilidade vertical), adicionar novos nós permite uma escalabilidade horizontal, que é mais econômica e eficiente em termos de recursos, além de ser mais fácil de gerenciar. OpenStack é ideal para esse tipo de escalabilidade, pois os serviços de orquestração como Nova e Ceph distribuem automaticamente as cargas entre os novos nós.

Durante as Férias

Num caso hipotético, poderíamos integrar todos os dispositivos NUC disponíveis no laboratório de redes (todos os Kits da sala) ao nosso ambiente MaaS, expandindo a infraestrutura do OpenStack. Com isso, cada NUC se tornaria um nó adicional na infraestrutura, ampliando os recursos de computação e armazenamento de maneira eficiente e escalável. Dessa forma, o MaaS gerenciaria todos os NUCs, e o OpenStack utilizaria esses nós para distribuir a carga, proporcionando maior capacidade e resiliência ao sistema.

Vamos adicionar o nó reserva ao openstack no cluster como nó de computing e block storage.

  • Verfique no Dashboard do MaaS se ainda há uma máquina disponível (máquina que reservamos/allocated). Faça o release da máquina que está ALLOCATED (cuidado para não errar!)
  • Instale o hypervisor, realizando o deploy na máquina:
    juju add-unit nova-compute
    
  • Anote o número da máquina adicionada no status e instale o block storage:
    juju add-unit --to <machine-id> ceph-osd
    

Tarefa 3

  1. Faça um desenho de como é a sua arquitetura de rede, desde a sua conexão com o Insper até a instância alocada.