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:53] mateinfo:cursos:pue:devops2022:s9 [17/03/2022 03:09] (actual) – [TODO] mate
Línia 7: Línia 7:
 == 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  === network 
-  * pag +  * pag 136 (Herramientas Devops entornos de desarrollo en local, para programadores con Docker y Vagrant .pdf)
   * reenvio de puertos   * reenvio de puertos
-    * sencillo de configurar, suficiente en la mayoría de casos+    * 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
  
 === carpetas compartidas === carpetas compartidas
Línia 84: Línia 99:
       * fmode = file mode       * fmode = file mode
       * dmode = directory 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
Línia 91: Línia 125:
   * ''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
 +  * pag 149
   * <code ruby>config.vm.provision "shell", inline <<-SHELL   * <code ruby>config.vm.provision "shell", inline <<-SHELL
   comando   comando
         comando         comando
     SHELL     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> </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 === synced_folder
   * ''config.vm.synced_folder "host_folder", "vm_folder"''   * ''config.vm.synced_folder "host_folder", "vm_folder"''
Línia 108: Línia 162:
  
  
-== TODO 
-<callout type="info" icon="true"></callout> 
  
 == Extra == Extra
  • info/cursos/pue/devops2022/s9.1646852003.txt.gz
  • Darrera modificació: 09/03/2022 10:53
  • per mate