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
Crie sua primeira aplicação em Python: Guia passo a passo
Neste post estaremos aprendendo a criar uma aplicação simples utiliando a linguagem de programação “Python”. Primeiramente, obviamente, será necessário ter o python instalado em nossas máquinas, podemos adquirí-lo de
Desbravando o OpenTofu: Parte 01 – Introdução e Fundamentos
Olá pessoal, hoje no blog, vamos falar de uma ferramenta em potencial de Infra as Code chamada OpenTofu. Bora lá Como surgiu o OpenTofu Em 10 de agosto de 2023,
Guia prático: Como configurar o OpenLDAP para aumentar a disponibilidade do seu ambiente
O que é OpenLDAP? LDAP é uma sigla para Lightweight Directory Access Protocol. Este serviço é usado essencialmente para armazenar informações de usuários, grupos, sistemas etc. O que não é










