Grupo de Pesquisa em Software e Hardware Livre André Rover de Campos Membro Colméia andreroverc@gmail.com 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: contato@colmeia.udesc.br 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/