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
Entenda a Alta Disponibilidade com Pacemaker e Corosync
Fugindo um pouco dos tópicos mais quentes como Cloud Pública, IaC, DevOps e SRE, hoje veremos alguns elementos que são usados como base de muitos serviços que utilizamos: Clusters. Entender
Entenda o Terraform e como ele se encaixa na Infraestrutura Ágil
Antes de entendermos como o Terraform funciona na prática é necessário compreendermos do que se trata a infraestrutura ágil e onde o Terraform se encaixa. Infraestrutura Ágil Infraestrutura ágil é
Guia Completo: Como Utilizar o Vagrant para Gerenciar Máquinas Virtuais
Introdução Vagrant é uma ferramenta para criação e gerenciamento de máquinas virtuais de forma automatizada. Ele é usado principalmente para fins de desenvolvimento, permitindo que seja criado um ambiente de










