Grupo de Pesquisa em Software e Hardware Livre André Rover de Campos Membro Colméia [email protected] Joinville Minicurso Computação em Nuvem Prática: Openstack Roteiro ● ● ● ● Definições ● Virtualização ● Data center ● Computação em Nuvem Principais classificações: ● Modelos de Serviços ● Modelos de implantação ● Arquitetura de referência Soluções de nuvem de código aberto: ● OpenStack Soluções de nuvem gratuitas (até certo uso): ● Amazon Web Services 2 Openstack 3 Openstack ● Software de código aberto ● Modelo de serviço: IaaS ● ● Capaz de gerenciar os componentes de múltiplas infraestruturas virtualizadas OpenStack pode ser chamado de Sistema Operacional da Nuvem, por cumprir o mesmo papel em maior escala 4 OpenStack Foundation ● http://www.openstack.org ● Comitê técnico: ● ● Responsável pela administração técnica do OpenStack Corpo diretor: ● Realiza a organização lógica e financeira da fundação ● Três níveis: Platinum, Gold e Individual 8 Platinum, 8 Gold e 8 Individual Comitê de usuários: – ● ● Defesa do usuário e retorno (feedback) 5 OpenStack: versões 6 APIs Openstack ● ● Fornece uma interface para que o mundo exterior interaja com a infraestrutura da nuvem No Openstack o gerenciamento é feito através de Web Services, utilizando uma API compatível com a da Amazon (EC2) ou também uma API própria da OpenStack 7 Openstack 8 Componentes OpenStack Neutron 9 Principais serviços do Openstack 10 Keystone ● Identity (codinome Keystone): ● Responsável por validar as credenciais e conceder acesso aos usuários Fornece um diretório central para usuários acessarem os serviços Openstack ● Atua como um sistema de autenticação comum ● 11 Nova ● Infraestrutura computacional (codinome Nova): ● ● Gerenciador da infraestrutura computacional de uma nuvem OpenStack Controla todas as necessidades de recursos computacionais, rede, autorização, e escalabilidade da nuvem 12 Nova ● ● É o componente mais distribuído e complicado do OpenStack Possui um grade número de processos que cooperam para transformar as requisições API dos usuários finais em máquinas virtuais 13 Nova: Funções e funcionalidades ● Gerenciamento do ciclo de vida das instâncias de máquinas virtuais ● Gerenciamento dos recursos computacionais ● Rede e Autorização ● API REST ● Comunicação assíncrona "eventualmente consistente" 14 Nova API ● ● Nova-API: aceita e responde as APIs do usuário final Suporta: ● ● ● API do Amazon EC2 API especial para que os administradores possam realizar as ações administrativas Sua própria API 15 Glance Gerenciamento de Imagens (codinome Glance): ● É um sistema de busca e armazenamento de imagens de máquinas virtuais. ● 16 Glance ● Pode ser configurado para usar um dos seguintes serviços de armazenamento: – Swift – Amazon S3 diretamente – Amazon S3 com Swift como intermediário 17 Glance API ● Aceitas chamadas de API de imagens para: ● ● ● procura de imagens armazenamento de imagens recuperação de imagens 18 Neutron ● Rede de relacionamentos (Codinome Neutron): ● OpenStack Networking (Neutron) é um sistema de gerenciamento de redes e endereços IP do Openstack 19 Neutron-server ● Aceita as requisições API e as encaminha para o plugin adequado para a ação; 20 Os principais serviços do OpenStack 21 Ainda existem outros serviços... 22 Horizon ● É uma aplicação web que fornece uma interface de acesso aos componentes do OpenStack aos usuários finais e administradores 23 Swift ● Estrutura de armazenamento (Codinome Swift): ● ● ● Usado para armazenar grande quantidade de dados de forma eficiente e segura. É equivalente ao serviço S3 da Amazon É capaz de armazenar bilhões de objetos distribuídos através dos nodos. 24 Swift: Funções e funcionalidades ● Armazenamento de um grande número de objetos ● Armazenamento de objetos de grande tamanho ● Redundância de Dados ● Capacidade de Arquivamento ● Repositório de dados para máquinas virtuais e aplicações ● Capacidade de streaming de mídia ● Armazenamento seguro de objetos ● Função de Backup 25 Swift Proxy Server ● ● ● ● Os clientes interagem com o Swift através de um Proxy Server ("servidor proxy") O proxy responde as requisições feitas via OpenStack API do Swift ou HTTP Aceita arquivos para upload, modificações em metadados ou criação de novos containers Também lida com falhas das entidades 26 Cinder ● ● ● Fornece dispositivos de armazenamento em nível de bloco para uso das instâncias de máquinas virtuais criadas pelo Nova Gerencia a criação, anexação e liberação dos dispositivos de bloco para os servidores Os volumes de armazenamento de bloco são integrados com o Nova e o Horizon 27 Cinder ● Cinder-API: Aceita requisições API ● Após, encaminha para o Cinder-volume Cinder-volume: ● ● ● Age de acordo com as requisições escrevendo ou lendo na base de arquivos do Cinder (Database) 28 Serviços do OpenStack 29 Serviços do Openstack 30 Resumindo os serviços do OpenStack... 31 Criando uma Máquina Virtual no OpenStack 32 Criando uma VM no OpenStack ● O usuário fornece ao Keystone as credenciais ● O Keystone retorna ao usuário um token (senha) 33 Criando uma VM no OpenStack ● ● Assim o usuário fornece seu token e solicita a VM, que é encaminhada para o Nova O Nova verifica o token do usuário no Keystone 34 Criando uma VM no OpenStack ● ● Se o token estiver correto, é enviado um pedido de imagem para o Glance Este verifica novamente o token no Keystone 35 Criando uma VM no OpenStack ● ● O Nova se conecta com a rede (Neutron) checando novamente o token e o usuário Após todo o processo, e se tudo correr bem, é fornecido ao usuário uma mensagem de sucesso 36 Voltamos a mesma imagem 37 TryStack 38 TryStack ● ● ● É um serviço gratuito Uma maneira fácil de experimentar OpenStack Possibilidade de experimentar e testar aplicativos 39 Como ter acesso? 40 Como acessar? ● Basta entrar no site: http://www.trystack.org/ 41 Como acessar? ● Participar do grupo no Facebook: 42 Como acessar? ● Fazer o login com a sua conta do Facebook 43 TryStack ● Uma instância estará disponível ao usuário ● A instância é apagada depois de 24 horas ● O TryStack é apenas para experimentar o OpenStack 44 Está com dúvidas? ● ● No grupo os próprios usuários se comunicam a fim de sanar as dúvidas Há alguns administradores que podem fornecer informações detalhadas 45 TryStack ● O site principal possui um campo de perguntas frequentes 46 Nuvem da UDESC ● É controlado pelo grupo LABP2D ● Utiliza o serviço OpenStack ● Se encontra na sala F-109 ● Ainda está em fase de testes 47 Criando uma nova instância na nuvem da UDESC 48 Página principal 49 Criando uma instância 50 Criando uma instância 51 Criando uma instância ● Selecionamos a imagem e o tamanho da instância 52 Criando uma instância ● Selecione a rede e clique em “Lançar” 53 Criando uma instância ● Após criar, a instância aparece em uma lista 54 Acessando a instância criada 55 Acessando a instância ● Clique no nome da instância desejada 56 Acessando a instância ● Na próxima janela vá em VNC 57 Acessando a instância ● Pronto, você já está na sua máquina virtual 58 Acessando a instância remotamente ● Associamos um IP 59 Acessando a instância remotamente ● Na nova janela selecione o IP 60 Acessando a instância remotamente ● ● No terminal, vamos testar o IP O IP está associado... 61 Acessando a instância remotamente ● Agora acesse a máquina via SSH ● ssh usuario@IP ● Em seguida responda com yes 62 Acessando a instância remotamente ● Forneça a senha 63 Acessando a instância remotamente ● Pronto, sua máquina está executando 64 Agora, mãos a obra! 65 Criando uma instância ● Acesse a nuvem da UDESC: http://10.20.107.208 ● Na tela de Login: Usuário:user_one Senha:user_one 66 Criando uma instância ● Crie uma máquina cirros ● Usuário: cirros ● Senha 67 Comandos de monitoramento da VM ● Podemos testar alguns comandos ● ● ● ● top --- checar os processos cat /proc/meminfo --- mostra a informação de memória cd / --- entra no diretório do sistema – Use o comando ls para ver as pastas do sistema Testem outros comandos também! 68 Comandos de monitoramento da VM ● ● vmstat -- Imprime um variedade de informações referentes ao uso da CPU, Memoria, Processos, Paginação e IO free – Imprime o uso da memória 69 Perguntas? ● Site: www.colmeia.udesc.br ● e-mail: [email protected] Obrigado! Referências ● www.openstack.org ● https://access.redhat.com/products/Cloud/OpenStack/ ● www.brasilopenstack.com.br/ ● http://www.trystack.org 71 Este trabalho está licenciado sob uma licença Creative Commons Atribuição-Compartilhamento pela mesma licença 2.0 http://creativecommons.org/licenses/by-sa/2.0/br/