bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


vagrant

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
vagrant [2021/09/21 17:48]
enrique_mieza_sanchez [Exercicis]
vagrant [2023/06/26 14:53] (actual)
enric_mieza_sanchez [Instal·lació]
Línia 10: Línia 10:
 Vagrant és particularment útil quan necessitem recrear un entorn molts cops, ja sigui per testejar eines, configuracions, etc. i poder clarificar el típic cas de "en la meva màquina funciona". Vagrant és particularment útil quan necessitem recrear un entorn molts cops, ja sigui per testejar eines, configuracions, etc. i poder clarificar el típic cas de "en la meva màquina funciona".
  
-{{tag> #Ciber #CiberMp03 #Asix Vagrant DevOps}}+{{tag> #FpInfor #Ciber #CiberMp03 #Ceti #CetiMp03 #Asix Vagrant DevOps}}
  
 ===== Instal·lació ===== ===== Instal·lació =====
Línia 20: Línia 20:
 Recordeu que Vagrant no virtualitza, sinó que automatitza tasques amb algun virtualitzador //provider//. Per tant, caldrà que tinguem instal·lat VirtualBox, VMware o similars. En GNU/Linux el més fàcil és instal·lar VirtualBox: Recordeu que Vagrant no virtualitza, sinó que automatitza tasques amb algun virtualitzador //provider//. Per tant, caldrà que tinguem instal·lat VirtualBox, VMware o similars. En GNU/Linux el més fàcil és instal·lar VirtualBox:
   $ sudo apt install virtualbox   $ sudo apt install virtualbox
 +
 +<WRAP important>
 +Es recomana utilitzar una màquina física Ubuntu 22.04 (LTS) amb
 +  * VirtualBox 7.0 (no és el de la versió dels repositoris de Ubuntu 22.04, cal anar a virtualbox.org)
 +  * Instal·lar Vagrant segons les [[https://developer.hashicorp.com/vagrant/downloads?ajs_aid=5466580f-2ad1-4fc6-812e-d32380b97335&product_intent=vagrant|indicacions de la web oficial vagrantup.com]], amb els seus propis repositoris APT.
 +
 +</WRAP>
 +
  
 \\ \\
Línia 25: Línia 33:
 ===== Definicions ===== ===== Definicions =====
   * **Vagrantfile** : arxiu on es defineixen les VMs de les que volem automatizar la seva creació i configuració.   * **Vagrantfile** : arxiu on es defineixen les VMs de les que volem automatizar la seva creació i configuració.
-  * **box** : imatge de disc de VM per utilitzar inicialment en el nostre entorn. Podem trobar un catàleg a la [[https://app.vagrantup.com/boxes/search|Vagrant Cloud]]. Hi ha imatges oficials de distribucions de GNU/Linux clàssiques però també imatges binàries de gent que hi carrega la seva configuració particularitzada.+  * **box** : imatge de disc de VM per utilitzar inicialment en el nostre entorn. Podem trobar un catàleg a la [[https://app.vagrantup.com/boxes/search|Vagrant Cloud]]. Hi ha imatges oficials de distribucions de GNU/Linux clàssiques però també imatges binàries de gent que hi carrega la seva configuració particularitzada o d'altres SO com Windows o MacOS.
    
 \\ \\
  
-===== Primeres passes =====+===== Creant una VM =====
 Cada "escenari" de VMs Vagrant necessitarà una carpeta on situar un arxiu d'inici ''Vagrantfile''. Cada "escenari" de VMs Vagrant necessitarà una carpeta on situar un arxiu d'inici ''Vagrantfile''.
  
 Creem una carpeta i inicialitzem un ''Vagrantfile'' amb la imatge ubuntu/focal64 : Creem una carpeta i inicialitzem un ''Vagrantfile'' amb la imatge ubuntu/focal64 :
-  $ mkdir makines1 +  $ mkdir -p makines/makina1 
-  $ cd makines1 +  $ cd makines/makina1 
-  $ vagrant init ubuntu/focal64+  $ vagrant init ubuntu/jammy64 
 +  $ vagrant up
  
 Això hauria de ser prou per posar en marxa la màquina Ubuntu Focal Fossa dins el virtualitzador que tinguem a la nostra màquina //host//. Ens podem connectar a la màquina acabada de crear amb: Això hauria de ser prou per posar en marxa la màquina Ubuntu Focal Fossa dins el virtualitzador que tinguem a la nostra màquina //host//. Ens podem connectar a la màquina acabada de crear amb:
Línia 46: Línia 55:
   vagrant@ubuntu-focal $ ip address   vagrant@ubuntu-focal $ ip address
  
 +\\
 +
 +===== Xarxa =====
 Amb la darrera instrucció podrem veure la IP de la màquina creada, que probablement sigui una 10.0.2.15. Amb la darrera instrucció podrem veure la IP de la màquina creada, que probablement sigui una 10.0.2.15.
 Si esteu fent servir VirtualBox, en la configuració per defecte la xarxa està en NAT, pel què no puc accedir a la màquina que acabo de crear. Per accedir a l'Apache que acabo de crear tinc diverses opcions, per exemple: Si esteu fent servir VirtualBox, en la configuració per defecte la xarxa està en NAT, pel què no puc accedir a la màquina que acabo de crear. Per accedir a l'Apache que acabo de crear tinc diverses opcions, per exemple:
Línia 51: Línia 63:
   * Fent un //port forwarding// a la màquina //host//.   * Fent un //port forwarding// a la màquina //host//.
  
 +==== Port forwarding ====
 Provarem el //port forwarding//, al Vagrant file ja ens surt un exemple. Provarem el //port forwarding//, al Vagrant file ja ens surt un exemple.
  
Línia 56: Línia 69:
   config.vm.network "forwarded_port", guest: 80, host: 8080   config.vm.network "forwarded_port", guest: 80, host: 8080
  
 +==== Xarxa privada ====
 +També podríem configurar la interfície en modalitat //host-only network//, sol fer-se d'aquesta manera al ''Vagrantfile'':
 +  config.vm.network "private_network", ip: "192.168.33.110"
 +
 +Si el VirtualBox ens dona error al crear la xarxa, podem [[https://www.virtualbox.org/manual/ch06.html|editar la configuració de xarxa de VirtualBox]] per permetre les IPs de les VMs:
 +<file txt /etc/vbox/networks.conf>
 +* 0.0.0.0/0 ::/0
 +</file>
 +
 +==== Accedint els serveis ====
 I ara reiniciem la màquina amb la nova configuració: I ara reiniciem la màquina amb la nova configuració:
   $ vagrant reload   $ vagrant reload
  
-Ara podem accedir a la web de la nova VM mitançant el //browser// de la màquina //host//:+Ara podem accedir a la web de la nova VM mitançant el //browser// de la màquina //host// a través del //forwarded port//:
   http://localhost:8080   http://localhost:8080
 +
 +O bé directament a la IP de la màquina si està en modalitat xarxa interna:
 +  http://192.168.33.110
  
 I si voleu comprovar que realment és la nostra nova màquina, personalitzeu la //default page// d'Apache: I si voleu comprovar que realment és la nostra nova màquina, personalitzeu la //default page// d'Apache:
Línia 77: Línia 103:
  
 ===== Exercicis ===== ===== Exercicis =====
-<WRAP todo> 
 ==== Exercici 1 ==== ==== Exercici 1 ====
 +<WRAP todo>
 Investiga com utilitzar aquestes comandes bàsiques: Investiga com utilitzar aquestes comandes bàsiques:
 +  vagrant halt
   vagrant suspend   vagrant suspend
   vagrant resume   vagrant resume
Línia 85: Línia 112:
 </WRAP> </WRAP>
  
 +==== Exercici 2 ====
 <WRAP todo> <WRAP todo>
-==== Exercici 2 ==== 
 Cerca informació per configurar: Cerca informació per configurar:
   - El //hostname// de la màquina virtualitzada (anomena-la, per exemple, "zeus").   - El //hostname// de la màquina virtualitzada (anomena-la, per exemple, "zeus").
   - Configurar un terminal de xarxa en mode //bridge//.   - Configurar un terminal de xarxa en mode //bridge//.
   - Fer un script que automatitzi la instal·lació de Docker en la nova màquina creada.   - Fer un script que automatitzi la instal·lació de Docker en la nova màquina creada.
-  - Connectar-te via SSH sense fer ''vagrant ssh'' (la info de connexió es mostra amb ''ssh-config'').+  - Connectar-te via SSH sense fer ''vagrant ssh'' (la info de connexió es mostra amb ''vagrant ssh-config'').
 </WRAP> </WRAP>
  
-<WRAP todo> 
 ==== Exercici 3 ==== ==== Exercici 3 ====
 +<WRAP todo>
 Cerca informació del //provider// VirtualBox i modifica el ''Vagrantfile'' adequadament per: Cerca informació del //provider// VirtualBox i modifica el ''Vagrantfile'' adequadament per:
   - Eliminar la interfície gràfica.   - Eliminar la interfície gràfica.
-  - Canviar el nom de la màquina dins del VirtualBox.+  - Canviar el nom de la màquina dins del VirtualBox (que surti un nom sense números o codis).
   - Configurar la VM perquè disposi de 2 CPUs.   - Configurar la VM perquè disposi de 2 CPUs.
   - Augmentar la RAM a 2048 MB.   - Augmentar la RAM a 2048 MB.
 </WRAP> </WRAP>
  
-<WRAP todo> 
 ==== Exercici 4 ==== ==== Exercici 4 ====
 +<WRAP todo>
 Fes un Vagrantfile que crei una màquina amb les següents característiques: Fes un Vagrantfile que crei una màquina amb les següents característiques:
   - Debian darrera versió.   - Debian darrera versió.
-  - Que s'anomeni "gaspache" com a //hostname// i també com a nom de màquina en el VirtualBox.+  - Que tingui com a //hostname// el teu nom i també com a nom de màquina en el VirtualBox.
   - Amb un Apache i PHP preinstal·lat.   - Amb un Apache i PHP preinstal·lat.
   - Que redirigeixi el port 80 de la web d'Apache al port 9090 de la màquina //host//.   - Que redirigeixi el port 80 de la web d'Apache al port 9090 de la màquina //host//.
vagrant.1632246494.txt.gz · Darrera modificació: 2021/09/21 17:48 per enrique_mieza_sanchez