Apt_vagrant_chef_olavo_queiroz

292 visualizações

Publicada em

Apresentação Webinar Dextra, como utilizar o vagrant para gerenciar maquinas virtuais locais e na aws integrando a ferramenta de automação chef.

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
292
No SlideShare
0
A partir de incorporações
0
Número de incorporações
10
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Apt_vagrant_chef_olavo_queiroz

  1. 1. +
  2. 2. Gerenciando ambientes Virtualizados com: +
  3. 3. Olavo Queiroz Guimarães about.me/olavoqueirozg olavo.guimaraes@dextra-sw.com
  4. 4. ?! Por que utilizar essa ferramenta ? Quais são os benefícios ?
  5. 5. ● Facilidade: Nos ajuda a gerenciar várias VM’s sem ter que acessar nenhum painel, usando apenas a linha de comando.
  6. 6. ● Compatibilidade: É compatível com varias ferramentas de virtualização no caso são os “providers”, são elas: VirtualBox, Docker, VMware, etc. e até as maquinas na AWS.
  7. 7. ● Praticidade: Como passar os arquivos para VM!? Rsync, SCP, Ftp, wget? Basta apenas configurar uma pasta compartilhada da sua maquina e ele abstrai o restante.
  8. 8. ● Eficiência nos testes: Como ter um ambiente onde podemos testar e se não funcionar voltar rapidamente ao seu estado inicial, podendo ser ele qualquer tipo de SO, bastando apenas fazer rollback e recomeçar os testes?!.
  9. 9. Começando a utilizar… Baixe o aplicativo direto no site do vagrant
  10. 10. Começando a utilizar… Baixe o aplicativo direto no site do vagrant Vagrant Boxes & Providers ● Box é um arquivo contendo uma imagem básica da VM que será gerenciada pelo vagrant.
  11. 11. Começando a utilizar… Baixe o aplicativo direto no site do vagrant Vagrant Boxes & Providers ● Box é um arquivo contendo uma imagem básica da VM que será gerenciada pelo vagrant. ● Cada box é especifico de um provider: ○ VirtualBox, VMWare, Hyper-V, AWS, Docker, etc…
  12. 12. Começando a utilizar… Baixe o aplicativo direto no site do vagrant Vagrant Boxes & Providers ● Box é um arquivo contendo uma imagem básica da VM que será gerenciada pelo vagrant. ● Cada box é especifico de um provider: ○ VirtualBox, VMWare, Hyper-V, AWS, Docker, etc… ● Um box pode conter qualquer sistema operacional (ubuntu, debian, centos, etc…), e pode ser baixado no site VagrantCloud.
  13. 13. Vamos á pratica…. ?!
  14. 14. Vamos á pratica…. ?! Vagrant Command Line Interface
  15. 15. Iniciando um arquivo de configuração…
  16. 16. Iniciando um arquivo de configuração… Algumas configurações básicas para virtualbox…
  17. 17. Have created?! ….
  18. 18. Have created?! …. Starting ….
  19. 19. Next Step….
  20. 20. Next Step…. Connecting ...
  21. 21. not created running saved poweroff Status ... vagrant up vagrant suspend vagrant halt vagrant destroy vagrant halt vagrant up
  22. 22. Synchronized folders ● Por padrão onde fica o VagrantFile é montado na VM em “/vagrant” ● config.vm.synced_folder "../shared", "/vagrant” ○ Monta o diretório anterior shared da minha máquina em /vagrant na VM
  23. 23. Synchronized folders ● Por padrão onde fica o VagrantFile é montado na VM em “/vagrant” ● config.vm.synced_folder "../shared", "/vagrant” ○ Monta o diretório anterior shared da minha máquina em /vagrant na VM Networking … (basics) ● Por default a VM e configurada com NAT utilizando um ip privado, o que permite acessar externamente mas não ao contrario. ● config.vm.network :forwarded_port, guest: 80, host: 8080 ○ Permite acesso a rede física a porta 80 da VM através da 8080 da máquina local. ● config.vm.network :public_network ○ A VM fica como “Bridge”, conectando diretamente da rede física ○ Necessita de um dhcp configurado para aceitar o MAC da VM. ○ IP da rede local, menos segura, utilize se tiver conhecimento.
  24. 24. Alguns plugins úteis do vagrant (More plugins here) ... ● vagrant-multiprovider-snap ○ Criar snapshots da VM ● vagrant-cachier ○ Salva cache do apt-get, yum, etc. das VMs assim não precisa baixar novamente toda vez quando for instalar um pacote. ● vagrant-aws ○ Disponibiliza comando para gestão de maquinas na AWS
  25. 25. Funcionamento dos snapshots … running vagrant up vagrant snap take snapshotted teste + teste- ops falhou, quero voltar? control + z? vagrant snap rollback
  26. 26. Vagrant provider=amazon... Configurando uma conta AWS no Vagrantfile:
  27. 27. Vagrant provider=amazon... Configurando uma conta AWS no Vagrantfile:
  28. 28. ?! Em que parte o chef entra?! Como ele pode nos ajudar?!
  29. 29. ● O chef a ferramenta que vai nos ajudar na construção do ambiente.
  30. 30. ● Podemos escrever receitas de automação que ele configure tudo automaticamente.
  31. 31. Exemplo de cookbooks... ?!
  32. 32. Exemplo de cookbooks... ?!
  33. 33. Exemplo de cookbooks...
  34. 34. + ● O vagrant manda o chef executa ● O chef executa de acordo com a receita ● Os cookbooks do chef precisam estar sempre em uma shared folder, pois chef precisa ler essa receita de dentro da maquina ● Não necessita de arquivo .json para configurar a run list.
  35. 35. + ● O provisionamento ocorre implicitamente ao final do processo de criação da VM (primeiro vagrant up) ou explicitamente pelo comando vagrant provision. ● Lembrando o Provisionamento do Vagrant também funciona com: Puppet, shell script, Docker, Ansible, CFengine, Salt
  36. 36. + Configurando o VagrantFile para o chef.. Lembrando a receita deve estar em uma pasta compartilhada com a VM para que seja possível o chef-solo conseguir realizar a execução...
  37. 37. Testes + +
  38. 38. Testes + Testes +
  39. 39. + Testes + Testes - RollBack
  40. 40. + Testes + Testes - RollBack = Ambientes Padronizados
  41. 41. + Testes + Testes - RollBack = Ambientes Padronizados + Testes Eficientes
  42. 42. + Testes + Testes - RollBack = Ambientes Padronizados + Testes Eficientes
  43. 43. Dúvidas Links de apoio https://github.com/bila-olavo https://github.com/mitchellh https://www.vagrantup.com/

×