Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
info:cursos:pue:devops2022:s9 [09/03/2022 10:34] mateinfo:cursos:pue:devops2022:s9 [17/03/2022 03:09] (actual) – [TODO] mate
Línia 3: Línia 3:
 <callout type="info" icon="true"> <callout type="info" icon="true">
   * 3-Topic 703 Machine Deployment/1-Material Curso Vagrant/   * 3-Topic 703 Machine Deployment/1-Material Curso Vagrant/
-  *  
 </callout> </callout>
 +
 == Vagrant == Vagrant
 <callout type="info" icon="true"> <callout type="info" icon="true">
-./2-Uso básico de vagrant.pdf +  * ./2-Uso básico de vagrant.pdf 
-./Clase Resumen Vagrant.txt +  ./Clase Resumen Vagrant.txt 
-./Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf+  ./Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf
 </callout> </callout>
   * montar entornos en local (pensado para desarrollo)   * montar entornos en local (pensado para desarrollo)
Línia 17: Línia 17:
     * [[https://app.vagrantup.com/boxes/search]]     * [[https://app.vagrantup.com/boxes/search]]
  
-=== lab (escenario)+=== primeros comandos
   * ''vagrant init'': crea fichero **Vagrantfile**   * ''vagrant init'': crea fichero **Vagrantfile**
   * ''vagrant up'':   * ''vagrant up'':
Línia 49: Línia 49:
  
 === provisionamiento === provisionamiento
 +  * pág 149 (Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf)
 +  * [[https://www.vagrantup.com/docs/provisioning]]
 +  * se aplica con:
 +    * ''vagrant provision''
 +    * ''vagrant reload %%--%%provision''
   * métodos:   * métodos:
-    * inline +    * inline:<code ruby>
-    * sh +
-    * pupper/ansible +
-<code ruby>+
 ... ...
   config.vm.provision "shell", inline: <<-SHELL   config.vm.provision "shell", inline: <<-SHELL
Línia 70: Línia 72:
 ... ...
 </code> </code>
 +    * script
 +    * puppet/ansible/chef
 +
 +=== network 
 +  * pag 136 (Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf)
 +  * reenvio de puertos
 +    * sencillo de configurar, suficiente en la mayoría de casos, solo expone los puertos especificados
 +    * ojo si los puertos ya están en uso en el host
 +    * no se pueden usar puertos por debajo del 1024 (a menos que vagrant se ejecute como root - no recomendado)
 +  * private network
 +    * redes para compartir con el anfitrion
 +    * podemos añadir todas las VMs que queramos
 +    * más complejo de configurar
 +    * atención al direccionamiento estático
 +    * Vagrant podría ser que no configurase los interfaces en el anfitrion (depende del SO)
 +  * public network (modo bridge)
 +    * acceso a la red de la VM como si fuese una máquina física
 +    * la opción más potente para acceder desde el exterior
  
-=== reenvio de puertos 
-  * pag  
-  *  
 === carpetas compartidas === carpetas compartidas
 +  * pag 124 (Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf)
 +  * compartir datos entre el anfitrion y la máquina virtual
 +  * **config.vm.synced_folder**
 +    * ''config.vm.synced_folder ".", "/vagrant", disabled: true'': deshabilita la carpeta compartida **/vagrant**
 +    * mount options:
 +      * fmode = file mode
 +      * dmode = directory mode
 +  * NFS, CIFS
  
 +=== provider
 +  * aplicar cambios en la máquina virtual
 +  * [[https://www.vagrantup.com/docs/providers/virtualbox/configuration]]
 +  * **check_guest_additions**
 +  * **customize**
 +  * **memory**
 +  * **cpus**
 +  * **linked_clone**
 +  * **default_nic_type**
 +  * **name**
  
 +=== snapshots
 +  * ''vagrant snapshot''
 +  * ''vagrant snapshot save <nombre>''
 +  * ''vagrant snapshot restore <nombre>''
 +  * ''vagrant snapshot list''
 +  * ''vagrant snapshot delete <nombre>''
 +  * ''vagrant snapshot push''
 +  * ''vagrant snapshot pop''
 == Vagrantfile == Vagrantfile
   * ruby   * ruby
-  * **config.vm.box** +  * ''config.vm.box'': box a usar 
-  * **config.vm.box_url**: dirección donde se puede encontrar este box. No necesario en el hub de Vagrant +  * ''config.vm.box_url'': dirección donde se puede encontrar este box. No necesario en el hub de Vagrant 
-  * **config.vm.box_check_update**: si TRUE, comprueba y actualiza el BOX cada vez que se hace ''vagrant up''+  * ''config.vm.box_check_update'': si TRUE, comprueba y actualiza el BOX cada vez que se hace ''vagrant up'' 
 +  * ''config.vm.hostname'': nombre de la máquina 
 +=== provider 
 +  * [[https://www.vagrantup.com/docs/providers/virtualbox/configuration]] 
 +  * <code ruby>config.vm.provider "virtualbox" do |vb| 
 +  vb.gui = true 
 +  vb.name = "nombre-maquina-virtual" 
 +  vb.memory = "1024" 
 +end</code>
 === provision === provision
-  * **config.vm.provision "** +  * pag 149 
 +  <code ruby>config.vm.provision "shell", inline <<-SHELL 
 +  comando 
 +        comando 
 +    SHELL 
 +</code> 
 +  ''config.vm.provision "shell", path:"miscript.sh"'' 
 +  <code ruby>config.vm.provision "ansible_local" do |ansible| 
 +  ansible.playbook = "playbook_centos_install_docker.yaml" 
 +end 
 +</code>
 === network === network
-  * **config.vm.network "forwarded_port", guest: 80, host: 8080** +  * ''config.vm.network "forwarded_port", guest: 80, host: 8080'' 
-  * **config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"**+  * ''config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"'' 
 +  ''config.vm.network "private_network", ip: 192.168.1.1'': ip estática 
 +  ''config.vm.network "private_network", type:"dhcp"'': las IPs la reparte el provisioner 
 +  * ''config.vm.network "public_network"'' 
 +  * ''config.vm.network "public_network", ip: "192.168.1.1"'' 
 +  * ''config.vm.network "public_network", use_dhcp_assigned_default_route: true'' 
 + 
 +=== synced_folder 
 +  * ''config.vm.synced_folder "host_folder", "vm_folder"'' 
 +  * <code ruby>config.vm.synced_folder "sql", "/sql", 
 +      owner: "root", 
 +       group: "root", 
 +       mount_options: ["dmode=700,fmode=644"]</code> 
  
-== TODO 
-<callout type="info" icon="true"></callout> 
  
 == Extra == Extra
  • info/cursos/pue/devops2022/s9.1646850844.txt.gz
  • Darrera modificació: 09/03/2022 10:34
  • per mate