47
Curso 472 Infraestrutura de Nuvens com OpenStack Versão 2015_3.0 Luis Henrique Araujo Da Silva / [email protected] / 11-42088417 / 324.966.508-84

Apostila Nova Compute – Serviço de Computação Do OpenStack

Embed Size (px)

DESCRIPTION

Openstack

Citation preview

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# apt­get install nova­api nova­cert nova­conductor nova­

consoleauth nova­novncproxy nova­scheduler python­novaclient

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 "nova­manage db sync" nova

2# service nova­api restart

3# service nova­cert restart

4# service nova­consoleauth restart

5# service nova­scheduler restart

6# service nova­conductor restart

7# service nova­novncproxy 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# apt­get install nova­compute sysfsutils python­novaclient

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/nova­compute.conf

[libvirt]

....

virt_type = kvm ou qemu

5# service nova­compute 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 service­list

3# nova endpoints

4# nova image­list

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 flavor­create ­­is­public true m1.curso 6 128 5 1 

­­rxtx­factor 1.0

4# nova flavor­list

5# nova ­­help | grep secgroup

6# nova secgroup­add­rule default icmp ­1 ­1 0.0.0.0/0

7# nova secgroup­add­rule default tcp 22 22 0.0.0.0/0

8# nova secgroup­list­rules 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# ssh­keygen

3# nova keypair­add ­­pub­key ~/.ssh/id_rsa.pub root­key

4# nova keypair­list

5# nova keypair­show root­key

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 flavor­list

3# nova keypair­list

4# nova keypair­add ­­pub­key ~/.ssh/id_rsa.pub prod­key

5# nova secgroup­list

6# nova secgroup­add­rule default icmp ­1 ­1 0.0.0.0/0

7# nova secgroup­add­rule default tcp 22 22 0.0.0.0/0

8# nova secgroup­list­rules 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 flavor­list

3# nova keypair­list

4# nova keypair­add ­­pub­key ~/.ssh/id_rsa.pub dev­key

5# nova secgroup­list

6# nova secgroup­add­rule default icmp ­1 ­1 0.0.0.0/0

7# nova secgroup­add­rule default tcp 22 22 0.0.0.0/0

8# nova secgroup­list­rules 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# apt­get install nova­network nova­api­metadata 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 nova­network restart

6# service nova­api­metadata 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 nova­api restart

3# service nova­scheduler restart

4# service nova­conductor 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 network­create flat­network ­­multi­host T ­­fixed­

range­v4 172.16.3.0/24 ­­dns1 8.8.8.8 ­­dns2 8.8.4.4

3# nova net­list

4# nova flavor­list

5# nova image­list

6# nova keypair­list

7# nova secgroup­list

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 net­list | awk '/flat­network/{print 

$2}')

3# nova boot ­­flavor m1.curso ­­image Cirros­Image ­­nic 

net­id=$NET ­­security­group default ­­key­name root­key 

instancia­1

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 get­vnc­console instancia­1 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 net­list | awk '/flat­network/{print 

$2}')

3# nova boot ­­flavor m1.curso ­­image Cirros­Image ­­nic 

net­id=$NET ­­security­group default ­­key­name root­key 

instancia­2

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 get­vnc­console instancia­2 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 instancia­1

3# nova delete instancia­2

4# nova network­delete flat­network

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

Luis Henrique A

raujo Da S

ilva / [email protected]

/ 11-42088417 / 324.966.508-84