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
Tutorial: Configurando o Traefik no Docker Swarm com arquivos YAML
Neste tutorial, você aprenderá como configurar o Traefik no Docker Swarm usando arquivos YAML, uma forma fácil e eficiente de gerenciar seus aplicativos de contêineres em larga escala. Ao seguir
Aprenda programação e outras habilidades essenciais com jogos online gratuitamente!
Na era digital que vivemos, aprender a programar não é apenas para os formandos em ciência da computação, é uma habilidade valiosa para todos. Quer você esteja curioso sobre como
Guia sobre como criar um cluster com o centralizador de logs Graylog 3.3
O Graylog [1] é uma ferramenta open source e serve para monitorar, centralizar e organizar mensagens de log em sua infraestrutura. É uma alternativa ao famoso ELK. O Graylog oferece









