Mostra la pàginaRevisions anteriorsQuè hi enllaçaExporta a PDFTorna dalt Aquesta pàgina és només de lectura. Podeu veure'n el codi font, però no podeu canviar-la. Consulteu el vostre administrador si penseu que això és degut a algun error. = DevOps Sesión 10 (2022-03-14) Vagrant + Packer == Documentación relacionada <callout type="info" icon="true"> * 3-Topic 703 Machine Deployment/1-Material Curso Vagrant/ </callout> == Vagrant <callout type="info" icon="true"> * ./2-Uso básico de vagrant.pdf * ./Clase Resumen Vagrant.txt * ./Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf </callout> === multimaquina <callout type="info" icon="true"> * ./Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf pàg 153 * ./ejemplos-iaw-practica-vagrant * ./ejemplos-vagrantfiles-multimaquina * ./ejemplos-iaw-practica-vagrant/ejemplo-10 </callout> <code ruby> # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "ubuntu/xenial64" # Load Balancer config.vm.define "web-balancer" do |app| app.vm.hostname = "web-balancer" app.vm.network "private_network", ip: "192.168.33.10" app.vm.provision "shell", path: "provision/provision-for-balancer.sh" end # Nginx config.vm.define "web-1" do |app| app.vm.hostname = "web-1" app.vm.network "private_network", ip: "192.168.33.11" app.vm.provision "shell", path: "provision/provision-for-nginx.sh" end # Nginx config.vm.define "web-2" do |app| app.vm.hostname = "web-2" app.vm.network "private_network", ip: "192.168.33.12" app.vm.provision "shell", path: "provision/provision-for-nginx.sh" end end </code> <code ruby > # -*- mode: ruby -*- # vi: set ft=ruby : #https://www.vagrantup.com/docs/other/enviromental-variables ENV['VAGRANT_NO_PARALLEL'] = 'yes' Vagrant.configure(2) do |config| NodeCount = 1 (1..NodeCount).each do |i| config.vm.define "centosvm0#{i}" do |node| node.vm.box = "centos/7" node.vm.hostname = "centosvm0#{i}.example.com" node.vm.network "private_network", ip: "172.42.42.10#{i}" node.vm.provider "virtualbox" do |v| v.name = "centosvm0#{i}" v.memory = 2048 v.cpus = 1 end end end end </code> <code ruby> # -*- mode: ruby -*- # vi: set ft=ruby : ENV['VAGRANT_NO_PARALLEL'] = 'yes' Vagrant.configure(2) do |config| CentosNodes = 1 (1..CentosNodes).each do |i| config.vm.define "centosvm0#{i}" do |node| node.vm.box = "centos/7" node.vm.hostname = "centosvm0#{i}.example.com" node.vm.network "private_network", ip: "172.16.16.10#{i}" node.vm.provider "virtualbox" do |v| v.name = "centosvm0#{i}" v.memory = 1024 v.cpus = 1 end node.vm.provision "shell", path: "bootstrap_centos.sh" end end UbuntuNodes = 1 (1..UbuntuNodes).each do |i| config.vm.define "ubuntuvm0#{i}" do |node| node.vm.box = "ubuntu/focal64" node.vm.hostname = "ubuntuvm0#{i}.example.com" node.vm.network "private_network", ip: "172.16.16.20#{i}" node.vm.provider "virtualbox" do |v| v.name = "ubuntuvm0#{i}" v.memory = 1024 v.cpus = 1 end node.vm.provision "shell", path: "bootstrap_ubuntu.sh" end end end </code> * [[https://www.vagrantup.com/docs/other/environmental-variables]] === plugins [[https://github.com/mitchellh/vagrant/wiki/Available-Vagrant-Plugins]] ==== AWS Provider <callout type="info" icon="true"> * ./vagrant-aws * ./Clase Resumen Vagrant.txt lin 200 </callout> [[https://github.com/mitchellh/vagrant-aws]] == packer <callout type="info" icon="true"> * ./2-Laboratorios Packer * https://www.packer.io/downloads * ./Laboratorio packer resumido.txt * ./Labortatorio Packer para crear imágenes de máquinas virtuales.pdf </callout> Packer es una herramienta de software libre desarrollada por Hashicorp que nos permite crear imágenes de sistema operativo de forma automatizada y utilizando archivos de configuración para tal efecto. * ficheros de configuración JSON o HCL2 * builders (constructores) * [[https://www.packer.io/plugins]] * providers * instalación desatendida (propia de cada fabricante) * RedHat/Centos: ks.cfg * Debian: preseed.cfg * Windows: autounattend.xml * === lab <code bash> cd ./packer-centos7-master packer build -only=virtualbox-iso centos7-packer-version1.6.json # genera: centos71-x64-virtualbox.box vagrant box list vagrant box add --name centos71-lab centos71-x64-virtualbox.box vagrant box list vagrant up vagrant box remove centos71-lab </code> == TODO * registro para Vagrant * artifactory <callout type="info" icon="true"></callout> info/cursos/pue/devops2022/s10.txt Darrera modificació: 14/03/2022 12:37per mate