Mudanças entre as edições de "Criando VM´s com Vagrant"
De MSTECH wiki
(→Instalando o Vagrant) |
(→Instalando o Vagrant) |
||
Linha 60: | Linha 60: | ||
==== Instalando o Vagrant ==== | ==== Instalando o Vagrant ==== | ||
− | :A instalação se encontra dentro de '''''\\mstech.com.br\docs\Areas\Dir. Sistemas de Gestão\Ger. Desenvolvimento de Software\Coord. DevOps\Restrito - Equipe\Programas\Vagrant''''', o processo de instalação em um host é mostrado na sequência de imagens abaixo.<br \><div align="left">[[Arquivo:Vagrant16.png|none|300px|caption]]</div><br \>Clique em '''''Next'''''<br \><div align="left">[[Arquivo:Vagrant17.png|none|300px|caption]]</div><br \>Habilite a opção '''''I accept terms in the License Agreement''''' e clique em '''''Next'''''<br \><div align="left">[[Arquivo:Vagrant18.png|none|300px|caption]]</div><br \>Mantenha o caminho de instalação padrão e clique em '''''Next'''''<br \><div align="left">[[Arquivo:Vagrant19.png|none|300px|caption]]</div><br \>Clique em '''''Install'''''<br \><div align="left">[[Arquivo:Vagrant20.png|none|300px|caption]]</div><br \>Clique em '''''Finish''''' para finalizar a instalação<br \><div align="left">[[Arquivo:Vagrant21.png|none|300px|caption]]</div><br \>Clique em Clique em '''''Yes''''' para reiniciar o host. | + | :A instalação se encontra dentro de '''''\\mstech.com.br\docs\Areas\Dir. Sistemas de Gestão\Ger. Desenvolvimento de Software\Coord. DevOps\Restrito - Equipe\Programas\Vagrant''''', o processo de instalação em um host é mostrado na sequência de imagens abaixo.<br \><br \><div align="left">[[Arquivo:Vagrant16.png|none|300px|caption]]</div><br \>Clique em '''''Next'''''<br \><div align="left">[[Arquivo:Vagrant17.png|none|300px|caption]]</div><br \>Habilite a opção '''''I accept terms in the License Agreement''''' e clique em '''''Next'''''<br \><div align="left">[[Arquivo:Vagrant18.png|none|300px|caption]]</div><br \>Mantenha o caminho de instalação padrão e clique em '''''Next'''''<br \><div align="left">[[Arquivo:Vagrant19.png|none|300px|caption]]</div><br \>Clique em '''''Install'''''<br \><div align="left">[[Arquivo:Vagrant20.png|none|300px|caption]]</div><br \>Clique em '''''Finish''''' para finalizar a instalação<br \><div align="left">[[Arquivo:Vagrant21.png|none|300px|caption]]</div><br \>Clique em Clique em '''''Yes''''' para reiniciar o host. |
Edição das 12h52min de 26 de julho de 2016
Índice
Versões de softwares utilizados para criação do manual
Versão | Aplicação |
6.3.9600.16384 | Hyper-V |
2012 R2 Standard | Windows Server |
1.7.2 | Vagrant |
3.0 | Windows PowerShell |
Introdução
Este documento visa apresentar o procedimento para preparação de máquinas virtuais usando a ferramenta Vagrant.
O Vagrant é uma ferramenta que permite que criemos rapidamente máquinas virtuais para fazermos testes, desenvolvimento ou provisionamento de ambientes utilizando as soluções de virtualização mais comuns como o Virtualbox e o Hyper-V.
Para a execução desta ferramenta, a interface é somente via prompt de comando.
Objetivo
Este manual tem como objetivo, se tornar uma espécie de consulta para os analistas de DevOps, assim como capacitar analistas que iniciarem na atividade de virtualização em quaisquer ambiente.
Execução
Criando uma VM zerada, com Windows 2012 R2 Standard
- Checklist (padronização)
- - Máquina Virtual (.vhdx) ter no máximo 45Gb para instalação do SO;
- Windows Server com as atualizações baixadas e instaladas;
- Instalar a feature .NET Framwork versões 3.5 e 4.5, pelo Add Roles e Features no Server Manager. Como da imagem abaixo.
- Instalar a feature Windows PowerShell versões 3.0 e 2.0, pelo Add Roles e Features no Server Manager. Como da imagem abaixo.
- Fazer um procedimento para desativar senha complexa. Para isso, vá pela VM e pressione as teclas+ R e digite gpedit.msc. Em seguida, navegue em Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy e clique 2x na regra Password must meet complexity requirements. Selecione para desabilitar essa regra e clique em OK.
- Configurar WinRM, que é uma ferramenta de linha de comando projetado para criar e controlar as conexões remotas. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar Run as Administrator) e digite as três linhas de comando citada abaixo.- Habilitar conexões Remote Desktop. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar Run as Administrator) e digite as duas linhas de comando citada abaixo.winrm set winrm/config/client/auth '@{Basic="true"}' winrm set winrm/config/service/auth '@{Basic="true"}' winrm set winrm/config/service '@{AllowUnencrypted="true"}'
- Habilitar CredSSP (Credential SSP), que permite o uso do SSP (Suporte de Provedor de Segurança) do lado cliente para delegar as credenciais do usuário da máquina cliente ao servidor de destino. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar Run as Administrator) e digite a linha de comando citada abaixo.$obj = Get-WmiObject -Class "Win32_TerminalServiceSetting" -Namespace root\cimv2\terminalservices $obj.SetAllowTsConnections(1,1)
- Habilitar regras RDP (protocolo de conexão remota) e WinRM no firewall. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar Run as Administrator) e digite as duas linhas de comando citada abaixo.Enable-WSManCredSSP -Force -Role Server
- Alterar as políticas de execução do PowerShell. Para isso, abre uma console do PowerShell na VM (clicando com o botão direito sobre este aplicativo e selecionar Run as Administrator) e digite a linha de comando citada abaixo.Set-NetFirewallRule -Name WINRM-HTTP-In-TCP-PUBLIC -RemoteAddress Any Set-NetFirewallRule -Name RemoteDesktop-UserMode-In-TCP -Enabled True
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
- - Máquina Virtual (.vhdx) ter no máximo 45Gb para instalação do SO;
Exportando a VM
- Nesta etapa, mostraremos como proceder para exportar a VM já criada, configurada e atualizada.
- - A primeira coisa, é necessário compactar no máximo a máquina virtual, usando o PowerShell como mostra a imagem abaixo.Onde: <caminho do arquivo .vhdx> -> caminho onde está salvo o arquivo que corresponde a máquina virtual criada.
PS C:\Windows\system32> Optimize-VHD -Path C:\<caminho do arquivo .vhdx> -Mode Full
- Próximo passo, será exportar a VM para a caminho desejado, conforme mostra a imagem abaixo.Onde: <nome_da_VM> -> nome da VM, que consta na console do gerenciador de Hyper-V.PS C:\Windows\system32> Export-VM -Name <nome_da_VM> -Path C:\<nome da pasta onde salvará a VM exportada>
<nome da pasta onde salvará a VM exportada> -> caminho onde salvará a VM a ser exportada
- Após exportar a VM, próximo passo será remover a pasta Snapshots, que não será muito útil. Esta pasta foi gerada durante o processo de exportação e está dentro da pasta onde foi exportada a VM. Segue o comando abaixo em que remove a pasta.Dentro da pasta onde foi exportada a VM, iremos criar 2 arquivos (metadata.json e Vagrantfile), faremos primeiro a criação do arquivo metadata.json pelo notepad e inserir a informação necessária dentro do arquivo conforme mostra a imagem abaixo.PS C:\Windows\system32> Remove-Item D:\<nome da pasta onde foi salva a VM exportada>\Snapshots -Recurse -Force
- Na sequência, iremos criar o arquivo Vagrantfile e inserir a informação necessária dentro do arquivo conforme mostra a imagem abaixo.{ "provider": "hyperv" }
- A estrutura dentro da pasta ficará conforme a imagem abaixo, com 2 pasta e 2 arquivos.# -*- mode: ruby -*- # vi: set ft=ruby : VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.guest = :windows config.vm.communicator = "winrm" end
- - A primeira coisa, é necessário compactar no máximo a máquina virtual, usando o PowerShell como mostra a imagem abaixo.
Compactando a VM
- Para compactar toda a estrutura referente a imagem anterior, utilizaremos um aplicativo chamado bsdtar o arquivo zipado se encontra disponível em \\mstech.com.br\docs\Areas\Dir. Sistemas de Gestão\Ger. Desenvolvimento de Software\Coord. DevOps\Restrito - Equipe\Programas\bsdtar.
Pegue uma cópia do arquivo zipado e armazene em um local de sua preferencia no servidor destino. Descompacte-o na sequência, após descompactado, note que há 4 arquivos e um desses arquivos está o executável bsdtar.
Abra o prompt de comando com o botão direito do mouse e selecione Run as Administrator. Vá até o caminho onde está a pasta contendo a VM exportada e aplique a seguinte linha de comando.Obs.: o diretório e os caminhos citados na linha de comando acima é apenas um exemplo.D:\vm_exportada> C:\<caminho da pasta descompactada>\bsdtar.exe –lzma –cvf <define um nome para o box>.box *
Segue a figura abaixo de como o processo de compactação é gerado.
Nota: a criação o arquivo *.box leva tempo para ser concluído, de 2 a 3 horas, dependendo do tamanho total a ser compactado e da performance do host. Este arquivo fica salvo dentro ou fora da pasta contendo a VM exportada.
Após o processo de compactação, segue a figura em que exibe o arquivo *.box criado.
Instalando o Vagrant
- A instalação se encontra dentro de \\mstech.com.br\docs\Areas\Dir. Sistemas de Gestão\Ger. Desenvolvimento de Software\Coord. DevOps\Restrito - Equipe\Programas\Vagrant, o processo de instalação em um host é mostrado na sequência de imagens abaixo.
Clique em Next
Habilite a opção I accept terms in the License Agreement e clique em Next
Mantenha o caminho de instalação padrão e clique em Next
Clique em Install
Clique em Finish para finalizar a instalação
Clique em Clique em Yes para reiniciar o host.