Curso 472
Infraestrutura de
Nuvens com
OpenStack
Versão 2015_3.0
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
2
Infraestrutura de Nuvens com OpenStack
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
3
Objetivos da Aula
Nesta aula veremos:
➢ Elementos gerais e arquitetura do Nova Compute;
➢ Adicionando a máquina Compute I;
➢ Instalação e configuração;
➢ Gerenciamento de imagem;
➢ Gerenciamento de rules, grupos de segurança e chaves;
➢ Gerenciamento de instância utilizando Nova Compute;
➢ Configurar FLAT Network;
➢ Gerenciamento de instância utilizando rede.
Nova Compute – Serviço de Computação do OpenStack
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
4
IT Experience
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
5
Nova
Visão Geral e Arquitetura do
Nova
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
6
Nova
Introdução
➢Ele é o componente que permite que você execute várias instâncias de
vários tipos através de qualquer número de servidores que executam o
serviço OpenStack Compute, permitindo que você crie um ambiente de
nuvem altamente escalável e redundante.
➢O Nova pode trabalhar com diversos Hypervisors como kvm, qemu, lxc,
vmware, xen, hyper-v, entre outros.
OpenStack Compute, também conhecida como Nova, é o componente
de computação do OpenStack.
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
7
Nova
Componentes (1/2)
Nova-api service
Nova-api-
metadata
service
Nova-compute service
Nova-
scheduler
service
Nova-
Conductor
module
Nova-cert
module
Nova-
Network
daemon
Componentes do Nova
Nova API:
➢ nova-api service: Aceita e responde ao Usuário Final chamadas de API de computação;
➢ nova-api-metadata service: Aceita solicitações de metadados de instâncias.
Compute Core:
➢ nova-compute service: Daemon responsável por criar e terminar instâncias de máquinas
virtuais por meio de API's do hypervisor;
➢ nova-scheduler service: Assume um pedido de instância de máquina virtual a partir da
fila e determina em qual host o servidor de computação que é executado;
➢ nova-conductor module: Faz as interações entre o serviço nova-computer e o banco de
dados;
➢ nova-cert module: Um servidor daemon que serve o serviço de Nova Cert para
certificados X509.
Network:
➢ nova-network daemon: Semelhante ao serviço nova-computer, aceita tarefas de rede da
fila e manipula a rede. Executa tarefas como a criação de interfaces de ponte ou altera as
regras de iptables.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
8
Nova
Componentes (2/2)
Nova-consoleauth
daemon
Nova-
novncproxy
daemon
Nova- spicehtml5proxy
daemon
Nova-
xvpvncproxy
daemon
Nova-cert
daemon
Euca200ls
client
Nova
client
Componentes do Nova
Console Interface:
➢ nova-consoleauth daemon: Autoriza os tokens que o console proxy fornece aos
usuários;
➢ nova-novncproxy daemon: Fornece um proxy para acessar as instâncias em
execução através de uma conexão VNC (novnc clients);
➢ nova-spicehtml5proxy daemon: Fornece um proxy para acessar as instâncias
em execução através de uma conexão SPICE;
➢ nova-xvpvncproxy daemon: Fornece um proxy para acessar as instâncias em
execução através de uma conexão VNC (java clients);
➢ nova-cert daemon: Gerencia certificados x509.
Clients:
➢ euca2ools client: Um conjunto de linha de comando que interpreta comandos
para o gerenciamento de recursos de nuvem;
➢ nova cliete: Permite aos usuários enviar comandos como um administrador de
project ou usuário final.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
9
Nova
Arquitetura: Nova Compute + Nova Network
Explicação
➢ DB: Banco de dados SQL para armazenamento de dados;
➢ API: Componente que recebe solicitações HTTP, converte comandos e se
comunica com outros componentes através da fila oslo.messaging ou HTTP;
➢ Scheduler: Decide qual host recebe cada instância;
➢ Network: Gerencia IP Forwarding, pontes e vlans;
➢ Compute: Gerencia a comunicação com hypervisor e máquinas virtuais;
➢ Conductor: Trata solicitações que precisam de coordenação
(criação/redimensionamento). Atua como um proxy de banco de dados (ou alças).
Objeto faz conversões e gerencia certificados x509.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
10
Nova
Arquitetura: Nova Compute + Neutron
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
11
Nova
Instalação e Configuração do
Nova
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
12
Laboratório Dexter
Etapas para instalar e configurar o serviço de Computação
Nova na máquina Controller:
➢ Instalar pacotes para implementar o serviço Nova;
➢ Configurar o arquivo nova.conf com informações de banco de
dados, como nome de usuário e senha;
➢ Popular o banco de dados nova através do comando nova-manage;
➢ Reiniciar os serviços do nova.
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
13
1# aptget install novaapi novacert novaconductor nova
consoleauth novanovncproxy novascheduler pythonnovaclient
2# less /etc/nova/nova.conf
Laboratório Dexter
Executar os comandos na máquina Controller
Instalação de Pacotes e Configuração (1/4)
➢ [DEFAULT]
➢ [oslo_messaging_rabbit]
➢ [keystone_authtoken]
➢ [database]
➢ [glance]
➢ [oslo_concurrency]
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
14
3# vim /etc/nova/nova.conf
[DEFAULT]
log_dir=/var/log/nova
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 10.0.0.201
vncserver_listen = 10.0.0.201
vncserver_proxyclient_address = 10.0.0.201
novncproxy_base_url = http://10.0.0.201:6080/vnc_auto.html
Laboratório Dexter
Executar os comandos na máquina Controller
Instalação de Pacotes e Configuração (2/4)
Configurações realizadas
Seções:
➢ [DEFAULT]: Seção de configurações gerais do Nova.
Diretivas:
➢ log_dir: Define a localização do diretório base para armazenar os logs do Nova;
➢ rpc_backend: Define o driver de serviços de mensageria, o padrão é rabbit e
ainda podemos utilizar qpid e zmq;
➢ auth_strategy: Define qual a estratégia deve ser usada para autenticação. As
opcões são keystone, noauth (obsoleto) ou noauth2;
➢ my_ip: Define o endereço IP do host;
➢ vncserver_listen: Endereço IP do servidor VNC;
➢ vncserver_proxyclient_address: O endereço em qual os clientes proxy (como
nova-xvpvncproxy) devem se conectar;
➢ novncproxy_base_url: Localização de console Proxy VNC em que vamos
acessar as instâncias.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
15
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 4linux
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
Laboratório Dexter
Executar os comandos na máquina Controller
Instalação de Pacotes e Configuração (3/4)
Configurações realizadas
Seções:
➢ [oslo_messaging_rabbit]: Seção para definir informações do servidor de
mensageria, como o nome di host, usuários e senha;
➢ [keystone_authtoken]: Seção para definir informações de autenticação do
usuário de serviço glance no Keystone.
Diretivas:
● rabbit_host: Define o nome ou IP do servidor de mensageria;
● rabbit_userid: Define o nome do usuário que tem acesso ao servidor de
mensageria;
● rabbit_password: Define a senha do usuário que tem acesso ao servidor de
mensageria.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
16
project_name = service
username = nova
password = 4linux
[database]
connection = mysql://nova:4LINUX@controller/nova
[glance]
host = controller
[oslo_concurrency]
lock_path = /var/lib/nova/tmp
Laboratório Dexter
Executar os comandos na máquina Controller
Instalação de Pacotes e Configuração (4/4)
Configurações realizadas
Seções:
➢ [database]: Seção para definir as informações sobre o banco de dados do Nova,
usuário e senha;
➢ [glance]: Seção para definir informações do servidor de Imagens Glance;
➢ [oslo_concurrency]: Seção para definir informações sobre bloqueio.
Diretivas:
➢ Host: Define o IP do servidor Glance;
➢ lock_path: Diretório a ser usado para arquivos de bloqueio. Por segurança, o
diretório especificado só deve ser escrito pelo usuário que executa os processos
que precisam de bloqueio.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
17
1# su s /bin/sh c "novamanage db sync" nova
2# service novaapi restart
3# service novacert restart
4# service novaconsoleauth restart
5# service novascheduler restart
6# service novaconductor restart
7# service novanovncproxy restart
8# rm f /var/lib/nova/nova.sqlite
Laboratório Dexter
Executar os comandos na máquina Controller
Popular Banco e Reiniciar Serviços
Configurações realizadas
nova-manage:
O comando nova-manage é a ferramenta de linha de comando que interage com o
serviço Nova para inicializar e atualizar o banco de dados nova no MySQL.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
18
Laboratório Dexter
Etapas para instalar e configurar o serviço de Computação
Nova na máquina Compute 1:
➢ Instalar pacotes para implementar o serviço Nova;
➢ Configurar o arquivo nova.conf com informações de banco de
dados, como nome de usuário e senha;
➢ Configurar o arquivo nova-compute.conf com o tipo de hypervisor
suportado pela máquina virtual;
➢ Reiniciar os serviços do nova.
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
19
1# aptget install novacompute sysfsutils pythonnovaclient
2# scp controller:/etc/nova/nova.conf /etc/nova/
3# vim /etc/nova/nova.conf
[DEFAULT]
log_dir=/var/log/nova
my_ip = 10.0.0.202
vnc_enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = 10.0.0.202 novncproxy_base_url
= http://10.0.0.201:6080/vnc_auto.html
Laboratório Dexter
Executar os comandos na máquina Compute 1
Instalação de Pacotes e Configuração (1/2)
Configurações realizadas
Seções:
➢ [DEFAULT]: Seção de configurações gerais do Nova.
Diretivas:
➢ log_dir: Define a localização do diretório base armazenar os logs do Nova;
➢ my_ip: Define o endereço IP do host;
➢ vnc_enable: Habilitar recursos de conexões VNC;
➢ vncserver_listen: Endereço IP do servidor VNC;
➢ vncserver_proxyclient_address: Endereço em qual os clientes proxy (como
nova-xvpvncproxy) devem se conectar;
➢ novncproxy_base_url: Localização de console Proxy VNC em que vamos
acessar as instâncias.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
20
### Comentar
#[database]
#connection = mysql://nova:4LINUX@controller/nova
4# vim /etc/nova/novacompute.conf
[libvirt]
....
virt_type = kvm ou qemu
5# service novacompute restart
6# rm f /var/lib/nova/nova.sqlite
Laboratório Dexter
Executar os comandos na máquina Compute 1
Instalação de Pacotes e Configuração (2/2)
Configurações realizadas
➢ virt_type: Define qual o tipo de hypervisor será utilizado no nó de Computador
para gerenciar as máquinas virtuais.
Aceleração de Hardware
Verifique se o seu computador suporta aceleração de hardware para máquinas
virtuais, executando o comando baixo na máquina Compute 1:
# egrep -c '(vmx | svm)' /proc/cpuinfo
Se esse comando retorna um valor 1 ou mais, o seu nó de computação suporta
aceleração de hardware e não precisa de nenhuma configuração adicional.
Caso o comando retorne um valor zero, o nó de computação não suporta aceleração
de hardware e você deverá configurar o libvirt para usar QEMU em vez de KVM.
[libvirt]
....
virt_type = qemu
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
21
Nova
Gerenciar Componentes de
Computação
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
22
Laboratório Dexter
Etapas para gerenciar componentes de Computação nas
máquinas Controller e Compute 1:
➢ Verificar o funcionamento do comando nova;
➢ Gerenciar flavors através do Nova;
➢ Gerenciar grupos de trabalhos e chaves de acesso para as áreas
de Produção e Desenvolvimento da empresa Dexter.
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
23
1# nova help
2# nova servicelist
3# nova endpoints
4# nova imagelist
5# scp admin.sh prod.sh dev.sh compute1:
Laboratório Dexter
Executar os comandos na máquina Controller
Funcionamento do Comando Nova
Explicação
Comandos:
➢ nova service-list: Mostrar uma lista de todos os serviços em execução;
➢ nova endpoints: Descobre e imprimi na tela endpoints que são retornados a
partir dos serviços de autenticação;
➢ nova image-list: Lista imagens disponíveis no Glance. Tem o mesmo efeito do
comando glance image-list.Luis H
enrique Araujo D
a Silva / luishenrique.sp@
outlook.com / 11-42088417 / 324.966.508-84
24
1# source admin.sh
2# nova help | grep flavor
3# nova flavorcreate ispublic true m1.curso 6 128 5 1
rxtxfactor 1.0
4# nova flavorlist
5# nova help | grep secgroup
6# nova secgroupaddrule default icmp 1 1 0.0.0.0/0
7# nova secgroupaddrule default tcp 22 22 0.0.0.0/0
8# nova secgrouplistrules default
Laboratório Dexter
Executar os comandos na máquina Compute 1
Gerenciar Flavor e Security Groups
Explicação
Flavor: Modelos de hardware virtual no OpenStack são chamados flavor (sabores),
definindo tamanhos de RAM, disco e o número de núcleos. A instalação padrão
oferece cinco flavors.
Security Groups: Os grupos de segurança são conjuntos de regras de filtro de IP
que são aplicadas a rede de uma instância. Eles são adicionados por projetos e os
membros desse projeto podem editar as regras padrão para o seu grupo e adicionar
novos conjuntos de regras. Todos os projetos têm um grupo de segurança "default",
que é aplicado aos casos que não têm nenhum outro grupo de segurança definido.
Comandos:
➢ nova flavor-create: Cria um novo modelo de harware definindo quantidade de
memória, processamento e disco;
➢ nova flavor-list: Lista quais são os Flavors disponíveis;
➢ nova secgroup-add-rule: Adiciona novas regras a um grupo de segurança,
utilizando portas e protocolos ICMP, TCP e UDP;
➢ nova secgroup-list-rules: Lista quais regras um grupo de segurança possui.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
25
1# nova help | grep keypair
2# sshkeygen
3# nova keypairadd pubkey ~/.ssh/id_rsa.pub rootkey
4# nova keypairlist
5# nova keypairshow rootkey
Laboratório Dexter
Executar os comandos na máquina Compute 1
Gerenciar Keypair
Explicação
Keypair
Cada par de chaves tem duas partes, a chave pública e a chave privada. A chave
pública é o que é injetado em suas instâncias Linux sob o arquivo authorized_key ou
usado para recuperar sua senha de administrador para instâncias do Windows.
A chave privada é o que você salva em um arquivo em em sua máquina local. Você
usa sua chave privada para SSH em suas instâncias Linux ou recuperar sua senha
de administrador para instâncias do Windows.
Comandos:
➢ nova keypair-add: Adiciona um novo par de chaves a partir de uma chave
pública SSH. Cada projeto possui seu par de chaves;
➢ nova keypair-list: Lista o par de chaves do projeto a partir do usuário conectado;
➢ nova keypair-show: Exibe informações detalhadas sobre o par de chaves do
projeto, a partir do usuário conectado.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
26
1# source prod.sh
2# nova flavorlist
3# nova keypairlist
4# nova keypairadd pubkey ~/.ssh/id_rsa.pub prodkey
5# nova secgrouplist
6# nova secgroupaddrule default icmp 1 1 0.0.0.0/0
7# nova secgroupaddrule default tcp 22 22 0.0.0.0/0
8# nova secgrouplistrules default
Laboratório Dexter
Executar os comandos na máquina Compute 1
Gerenciar Nova - Produção
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
27
1# source dev.sh
2# nova flavorlist
3# nova keypairlist
4# nova keypairadd pubkey ~/.ssh/id_rsa.pub devkey
5# nova secgrouplist
6# nova secgroupaddrule default icmp 1 1 0.0.0.0/0
7# nova secgroupaddrule default tcp 22 22 0.0.0.0/0
8# nova secgrouplistrules default
Laboratório Dexter
Executar os comandos na máquina Compute 1
Gerenciar Nova - Desenvolvimento
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
28
Nova
Gerenciar Componentes de
Redes
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
29
Nova
A partir do release Essex do OpenStack, pode-se escolher entre três
tipos diferentes de gerenciadores de rede: FlatManager,
FlatDHCPManager ou VlanManager.
➢FlatManager e FlatDHCPManager têm muito em comum. Ambos se
baseiam no conceito de rede em ponte, com um único dispositivo
ponte.
➢Nesta aula vamos implementar na prática o FlatDHCPManager.
Rede FLAT
Diferenças entre FlatManager e FlatDHCPManager
FlatManager:
FlatManager fornece o conjunto mais primitivo das operações. Seu papel se resume
apenas a anexar a instância para a ponte sobre o nó de computação. Por padrão, ele
não faz nenhuma configuração IP da instância.
Esta tarefa é deixada para o administrador de sistemas e pode ser feita usando
algum servidor DHCP externo ou de outros meios.
FlatDHCPManager:
FlatDHCPManager conecta uma instância na ponte fornecendo um servidor de DHCP
para enviar configurações de rede.
Em cada nó de computação:
➢ É atribuído endereço do pool de IP Flar para a ponte de rede;
➢ Um processo de servidor DHCP dnsmasq é gerado, e este começa a escutar no
IP da ponte;
➢ A ponte funciona como o gateway padrão para todas as instâncias em execução
naquele nó de computação.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
30
Nova
Arquitetura FlatDHCPManager
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
31
Laboratório Dexter
Etapas para gerenciar componentes de Redes nas máquinas
Compute 1 e Controller:
➢ Configurar interfaces de Redes na máquina Compute 1;
➢ Instalar pacotes para implementar o serviço Nova Network
na máquina Compute 1;
➢ Configurar o arquivo nova.conf para configuração de redes;
➢ Reiniciar os serviços do nova.
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
32
1# vim /etc/network/interfaces
auto br100
iface br100 inet manual
bridge_ports eth1
bridge_stp off
bridge_maxwait 0
bridge_fd 0
auto eth1
iface eth1 inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down
2# ifconfig eth1 up
Laboratório Dexter
Executar os comandos na máquina Compute 1
Configurar Interfaces de Rede
Explicação
Antes de começar a configuração de redes utilizando FlatDHCPManager, primeiro
precisamos configurar qual será a nossa ponte de rede (br100), editando o arquivo
/etc/network/interfaces.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
33
3# aptget install novanetwork novaapimetadata python
openstackclient
4# vim /etc/nova/nova.conf
[DEFAULT]
....
network_api_class = nova.network.api.API
security_group_api = nova
firewall_driver =
nova.virt.libvirt.firewall.IptablesFirewallDriver
network_manager = nova.network.manager.FlatDHCPManager
network_size = 254
Laboratório Dexter
Executar os comandos na máquina Compute 1
Instalação e Configuração – Nova Network (1/2)
Configurações realizadas
Diretivas:
➢ network_api_class: Define a classe de API de rede que será usada;
➢ security_group_api: Define a qual classe de API de grupo de segurança que
será usada;
➢ firewall_driver: Define qual será o driver de Firewall usado;
➢ network_manager: Define qual será o gerenciador de redes usado;
➢ network_size: Define o número de endereços em cada sub-rede privada.Luis H
enrique Araujo D
a Silva / luishenrique.sp@
outlook.com / 11-42088417 / 324.966.508-84
34
allow_same_net_traffic = False
multi_host = True
send_arp_for_ha = True
force_dhcp_release = True
flat_network_bridge = br100
flat_interface = eth1
5# service novanetwork restart
6# service novaapimetadata restart
Laboratório Dexter
Executar os comandos na máquina Compute 1
Instalação e Configuração – Nova Network (2/2)
Configurações realizadas
Diretivas:
➢ allow_same_net_traffic: Define se é permitido o tráfego de rede na mesma rede;
➢ multi_host: Ativa ou desativa o modo multi host;
➢ send_arp_for_ha: Ativa ou desativa o envio de ARP's para a configuração HA;
➢ force_dhcp_release: Quanto ativado envia um dhcp release em caso de
encerramento da instância;
➢ flat_network_bridge: Define o nome da interface que será utilizada como ponte;
➢ flat_interface: Define em qual interface o FlatDhcp irá construir a ponte para
conectar o host à sua rede local.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
35
1# vim /etc/sysctl.conf
....
net.ipv4.ip_forward=1
2# sysctl p
3# iptables t nat A POSTROUTING o eth0 j MASQUERADE
4# vim /etc/rc.local
iptables t nat A POSTROUTING o eth0 j MASQUERADE
exit 0
Laboratório Dexter
Executar os comandos na máquina Compute 1
Compartilhar Conexão
Explicação
No cenário atual o nó de Computação (Compute 1) está executando o nova-network
e, neste contexto, é preciso habilitar roteamento de pacotes no Linux.
Edite o arquivo /etc/sysctl.conf e descomente ou adicione a linha
net.ipv4.ip_forward=1 e aplique as configurações através do comando sysctl -p.
Um outro ajuste é compartilhar a conexão de internet do nó de computação com as
instâncias. Isso poder ser feito através do comando iptables.Luis H
enrique Araujo D
a Silva / luishenrique.sp@
outlook.com / 11-42088417 / 324.966.508-84
36
1# vim /etc/nova/nova.conf
[DEFAULT]
....
network_api_class = nova.network.api.API
security_group_api = nova
2# service novaapi restart
3# service novascheduler restart
4# service novaconductor restart
Laboratório Dexter
Executar os comandos na máquina Controller
Instalação e Configuração – Nova Network
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
37
Nova
Gerenciar Instâncias com Acesso
a Redes
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
38
Laboratório Dexter
Etapas para gerenciar instâncias com acesso a Redes nas
máquinas Controller e Compute 1:
➢ Criar rede na máquina Controller;
➢ Iniciar instância com rede na máquina Compute 1;
➢ Acessar via SSH instâncias na máquina Compute 1;
➢ Visualizar instância via VNC Console na máquina física;
➢ Remover instâncias.
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
39
1# source admin.sh
2# nova networkcreate flatnetwork multihost T fixed
rangev4 172.16.3.0/24 dns1 8.8.8.8 dns2 8.8.4.4
3# nova netlist
4# nova flavorlist
5# nova imagelist
6# nova keypairlist
7# nova secgrouplist
Laboratório Dexter
Executar os comandos na máquina Controller
Criar Rede no Nova Network
Comandos
➢ nova network-create: Permite criar uma rede utilizando nova-network;
➢ nova net-list: Lista quais redes estão disponíveis no nova-network.
Opções do subcomando network-create
➢ --multi-host: Ativa (T) ou desativa (F) o modo multi host;
➢ --fixed-range-v4: Define o endereço IP da rede com a máscara;
➢ --dns1: Define o IP do servidor de nome primário;
➢ --dns2: Define o IP do servidor de nome secundário.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
40
1# source admin.sh
2# export NET=$(nova netlist | awk '/flatnetwork/{print
$2}')
3# nova boot flavor m1.curso image CirrosImage nic
netid=$NET securitygroup default keyname rootkey
instancia1
4# nova list
Laboratório Dexter
Executar os comandos na máquina Compute 1
Iniciar Instância 1 com Rede
Comandos:
➢ nova boot: Inicia uma instância no nó de computação. As instâncias são criadas
por projetos a partir do usuário conectado;
➢ nova list: Lista as instância no nó de computação. As instâncias são listadas por
projetos a partir do usuário conectado.
Opções do subcomando boot
➢ --flavor: Define qual o modelo de hardware será utilizado para executar a
instância;
➢ --image: Define qual imagem será utilizada para executar a instância;
➢ --nic net-id: Define o UUID da rede em que a instância será executada;
➢ --security-group: Define qual grupo de segurança será utilizado para executar a
instância;
➢ --key-name: Define qual par de chaves será utilizado para acessar a instância.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
41
1# ping c4 IP_INSTANCIA1
2# ssh cirros@IP_INSTANCIA1
3$ sudo su
4$ ifconfig
5$ ping c4 8.8.8.8
6$ ping c4 google.com.br
7$ exit (2x)
8# nova getvncconsole instancia1 novnc
Laboratório Dexter
Executar os comandos na máquina Compute 1
Testar Acesso à Instância na Rede (1/2)
Comandos
➢ nova get-vnc-console: Exibe o endereço do Console VNC no qual podemos
acessar a instância via Browser.
Opções do subcomando get-vnc-console
➢ novnc: Define o tipo de vnc console (novnc ou xvpvnc).
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
42
Acessar no Browser da máquina Física
Laboratório Dexter
Testar Acesso à Instância na Rede (2/2)
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
43
1# source admin.sh
2# export NET=$(nova netlist | awk '/flatnetwork/{print
$2}')
3# nova boot flavor m1.curso image CirrosImage nic
netid=$NET securitygroup default keyname rootkey
instancia2
4# nova list
Laboratório Dexter
Executar os comandos na máquina Compute 1
Iniciar Instância 2 com Rede
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
44
1# ping c4 IP_INSTANCIA2
2# ssh cirros@IP_INSTANCIA2
3$ sudo su
4$ ifconfig
5$ ping c4 8.8.8.8
6$ ping c4 google.com.br
7$ exit (2x)
8# nova getvncconsole instancia2 novnc
Laboratório Dexter
Executar os comandos na máquina Compute 1
Testar Acesso à Instância 2 na Rede
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
45
1# source admin.sh
2# nova delete instancia1
3# nova delete instancia2
4# nova networkdelete flatnetwork
5# ifconfig br100 down
6# brctl delbr br100
7# brctl show
Laboratório Dexter
Executar os comandos na máquina Compute 1
Remover Instâncias, Rede e Ponto
Explicação
O comando brctl é usado para configurar, manter e inspecionar a configuração de
pontes Ethernet no Kernel Linux.
Comandos:
➢ nova delete: Remove uma instância no nó de computação. As instâncias são
removidas por projetos a partir do usuário conectado;
➢ nova network-delete: Permite remover uma rede utilizando nova-network;
➢ brctl delbr: Remove uma ponte no nó de computação;
➢ brctl show: Lista quais pontes estão disponíveis no nó de computação.
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84
46
Para que você tenha um melhor aproveitamento do curso, participe das
seguintes atividades disponíveis no Netclass:
➢ Resolver o Desafio para Criar grupo de segurança e chave para área
de Infraestrutura e Monitoramento e postar o resultado no Fórum
Temático;
➢ Responder as questões do Teste de Conhecimento.
Mãos à obra!
Próximos Passos
Anotações:
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
__________________________________________________
Luis Henrique A
raujo Da S
ilva / [email protected]
/ 11-42088417 / 324.966.508-84