Guia prático: Crie e configure máquinas virtuais com shell script
Instalação das dependências
echo > file
# -*- mode: ruby -*- # vi: set ft=ruby :
vms = {
}
vms = {
'debian-server' => { }
}
vms = {
'debian-server' => {'memory' => '512', 'cpus' => '1', 'ip' => '10', 'box' => 'debian/stretch64', 'provision' => 'debian-server.sh'},
'ubuntu-server' => {'memory' => '512', 'cpus' => '1', 'ip' => '11', 'box' => 'ubuntu/xenial64', 'provision' => 'ubuntu-server.sh'}
}
Vagrant.configure('2') do |config|
end
Vagrant.configure('2') do |config|
vms.each do |name, conf|
end
end
Vagrant.configure('2') do |config|
vms.each do |name, conf|
config.vm.define "#{name}" do |my|
my.vm.box = conf['box']
my.vm.hostname = "#{name}.example.com"
my.vm.network 'private_network', ip: "172.27.11.#{conf['ip']}"
my.vm.provision 'shell', path: "Provision/#{conf['provision']}"
my.vm.provider 'virtualbox' do |vb|
vb.memory = conf['memory']
vb.cpus = conf['cpus']
end
end
end
end
# -*- mode: ruby -*-
# vi: set ft=ruby :
vms = {
'debian-server' => {'memory' => '512', 'cpus' => '1', 'ip' => '10', 'box' => 'debian/stretch64', 'provision' => 'debian-server.sh'},
'ubuntu-server' => {'memory' => '512', 'cpus' => '1', 'ip' => '11', 'box' => 'ubuntu/xenial64', 'provision' => 'ubuntu-server.sh'}
}
Vagrant.configure('2') do |config|
vms.each do |name, conf|
config.vm.define "#{name}" do |my|
my.vm.box = conf['box']
my.vm.hostname = "#{name}.example.com"
my.vm.network 'private_network', ip: "172.27.11.#{conf['ip']}"
my.vm.provision 'shell', path: "Provision/#{conf['provision']}"
my.vm.provider 'virtualbox' do |vb|
vb.memory = conf['memory']
vb.cpus = conf['cpus']
end
end
end
end
touch debian-server.sh
Estrutura - Vagrantfile - Provision (Diretório) - vars.sh (arquivo com as funções e algumas variáveis) - debian-server.sh, ubuntu-server.sh (arquivos para o provisionamento)
arquivo com as funções e variáveis principais
#!/bin/bash
### vars.sh ####
USER='suporte'
PASS='4linux'
function addUsers {
#criando o usuário suporte
useradd -m -d "/home/${USER}" -p $(openssl passwd -1 ${PASS}) -s /bin/bash ${USER}
#alterando a senha do usuario vagrant
sudo usermod -p $(openssl passwd -1 ${PASS}) vagrant
#alterando a senha do root
sudo usermod -p $(openssl passwd -1 ${PASS}) root
}
function installNginx {
#atualizando os pacotes
sudo apt-get update -y; wait;
#instalando o nginx
sudo apt-get install -y nginx;
}
arquivo de provisionamento
ex: debian-server.sh
#!/bin/bash source /vagrant/Provision/vars.sh #chama a função de criação e alteração de usuários addUsers; #chama a função de instalação do nginx installNginx;
vagrant up
Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:
CURSOSCONSULTORIAสล็อต888ทดลองเล่นสล็อต pgทดลองเล่นสล็อตทดลองเล่นสล็อตยักษ์888บ้านผลบอล
About author
Você pode gostar também
Curso gratuito de Linux: Aprenda com a maior empresa de treinamentos Open Source do Brasil
Sabe aquela frase onde diz: “tudo que é de graça é mais gostoso”? pois é.. agora imagina ter acesso a maior empresa de treinamentos Open Source do Brasil sob a
Automatize processos com Ansible e otimize seu tempo de trabalho
Já parou para pensar como seria incrível executar um comando, e quase que instantaneamente, teríamos um processo que normalmente exigiria alguns bons minutos ou horas para executar, com diversas etapas
Automatização de ambientes com Rundeck
Por que automatizar seu ambiente? Nos últimos anos, a automação tem crescido como um elemento imperativo em todos os negócios. Independente da área, temos observado um notável aumento no uso










