Im vorherigen Artikel haben wir gesehen, wie Sie Vagrant in Ihrer Linux-Distribution einrichten. In diesem Artikel erfahren Sie, wie Sie ein Vagrant-Projekt erstellen, um eine Vagrant-Box zu installieren, einen Gastcomputer zu konfigurieren und die Kernaspekte von Vagrant sowie wichtige Konfigurationen und Befehle zu verstehen.
Was ist Vagrant Box?
Die Vagrant-Box ist ein Paketformat für die Vagrant-Umgebung. Wenn Sie eine virtuelle Maschine für die Verwendung in Vagrant herunterladen oder verpacken, liegt sie im Box-Format vor. Wenn ich Boxen sage In dieser Serie beziehe ich mich nur auf eine virtuelle Maschine .
Es gibt zwei Möglichkeiten, wie Sie die Boxen erhalten können . Sie können Ihre eigene benutzerdefinierte Box erstellen und mit anderen teilen und eine identische Umgebung verwenden oder die Boxen von der Vagrant-Site herunterladen.
Es gibt Boxen, die auf der Vagrant-Site gehostet werden, die bereits verpackt und einsatzbereit sind. Auf der Seite können Sie nach verschiedenen Box-Varianten (CentOS, Ubuntu, Arch usw.) suchen und haben auch die Möglichkeit, einen Anbieter auszuwählen (hier verwenden wir VirtualBox als Anbieter).
Einrichten der Vagrant-Projektumgebung
Beginnen wir mit der Erstellung eines Projekts und laden Sie eine Vagrant-Box herunter. Öffnen Sie das Terminal und erstellen Sie ein Projektverzeichnis, indem Sie den folgenden Befehl ausführen. Sie können dieses Verzeichnis an einem beliebigen Ort in Ihrem Dateisystem erstellen.
$ mkdir ~/vagrant_project
Wechseln Sie nun in das neu erstellte Verzeichnis und führen Sie die vagrant init aus Befehl, der eine Vagrant-Konfigurationsdatei in Ihrem Projektverzeichnis erstellt.
$ vagrant init
Öffnen Sie nun die Vagrant-Datei, eine Vorlagendatei, die vom Vagrant erstellt wird, wenn Sie die Vagabund-Init ausführen Befehl. In dieser Datei speichern wir alle unsere Box-bezogenen Konfigurationsinformationen.
$ cat Vagrantfile
Installieren Sie eine virtuelle Maschine mit Vagrant und VirtualBox
Im Moment müssen Sie sich nur um die Änderung eines einzelnen Parameters „config.vm.box kümmern “. Dieser Parameter kümmert sich um das Herunterladen der Box von der Vagrant-Site. Ich werde Ubuntu20.04 herunterladen Kasten. Suchen Sie im Vagrant auf der Website nach „Ubuntu20 “ und stellen Sie den Anbieter ein zu Virtualbox wie im Bild unten gezeigt.
Klicken Sie auf das Kästchen auf der Website und Sie können den Namen des Kästchens abrufen, um es in der Vagrant-Datei zu konfigurieren.
Übergeben Sie nun den Boxnamen als Argument mit der vagrant init Befehl, der automatisch den Box-Namen in der Vagrant-Datei einstellt.
$ vagrant init generic/ubuntu2004 ==> Create a vagrant config file $ vagrant init -m generic/ubuntu2004 ==> Create a vagrant config file without helper and comments $ vagrant init -f generic/ubuntu2004 ==> Override existing vagrant file
Jetzt haben Sie den obligatorischen Parameter zum Herunterladen einer Box konfiguriert. Führen Sie nun den „vagrant up command“ aus “, die die Vagrant-Konfigurationsdatei liest, um die Box herunterzuladen und bereitzustellen.
$ vagrant up
Wenn alles gut geht, sehen Sie die Ausgabe wie im folgenden Bild gezeigt. Es ist wichtig, diese Ausgaben zu verstehen, um mehr über die Konfigurationen Ihrer virtuellen Maschine zu erfahren.
Konfiguriert Gastmaschinen gemäß Vagrantfile
Lassen Sie uns die Ausgabe von vagrant up aufschlüsseln Befehl.
1. Die erste Zeile wird Ihr Provider sein Name, Virtualbox ist der Standardanbieter und zeigt darauf.
Bringing machine 'default' up with 'virtualbox' provider...
2. Alle Ihre Boxen und Vagrant-bezogenen Dateien werden unter .vagrant.d
gespeichert Verzeichnis unter Ihrem Home-Ordner. Vagrant wird sehen, ob die benannte Box (generic/ubuntu2004 ) ist bereits in diesem Verzeichnis verfügbar, um die Box zu importieren, wenn nicht, verbindet es sich mit der Vagrant-Site und lädt die Box herunter. In diesem Fall habe ich bereits ubuntu2004 von der vagabundierenden Website heruntergeladen, sodass nur die Box importiert wird.
$ ls -l ~/.vagrant.d/boxes/
3. Wenn Ihre Box hochfährt, wird sie nach Updates suchen. Um dies auszuschalten, können Sie den folgenden Parameter in Ihrem Vagrantfile setzen.
config.vm.box_check_update = false
4. Standardmäßig ist der Netzwerkmodus Ihrer virtuellen Maschine auf NAT eingestellt und die Portweiterleitung wird für Sie zu SSH aktiviert vom Host Maschine. Dies ist konfigurierbar und wir haben Optionen zur Auswahl verschiedener Netzwerkmodi.
5. Jede Box hat nur zwei Benutzer zur Verfügung. Einer ist der Stamm und der zweite ist der Landstreicher Benutzer. Der Standardbenutzername und das Standardpasswort sind vagrant .
Die kennwortbasierte Authentifizierung ist standardmäßig deaktiviert und ein öffentlich-privates Schlüsselpaar wird automatisch generiert und während des Hochfahrens auf Ihre virtuelle Maschine kopiert und verwendet, um eine Verbindung zu Ihrer Box herzustellen.
Username = vagrant Password = vagrant
Sie können den folgenden Befehl ausführen, um die ssh-Konfiguration für die Box zu überprüfen. Aus dem Bild unten können Sie erkennen, dass die Passwortauthentifizierung deaktiviert ist und der Benutzer auf vagrant gesetzt ist und die Portweiterleitung ist auf 2222 eingestellt .
$ vagrant ssh-config
6. Einige Boxen versuchen, einen freigegebenen Ordner auf Ihrer VM bereitzustellen. Damit der freigegebene Ordner funktioniert, müssen auf Ihrer VM Gasterweiterungen installiert sein. Ihr aktuelles Verzeichnis (Projektverzeichnis) vom lokalen Rechner wird mit /vagrant gemountet auf dem Remote-Rechner.
Aus all den oben genannten Schritten haben Sie jetzt vielleicht eine Vorstellung davon, was Vagrant tut. All diese Schritte werden von uns erledigt, wenn wir manuell eine VM in Virtualbox einrichten. Hier erledigt vagrant all diese Schritte automatisiert.
Jetzt können Sie eine einzelne oder mehrere VMs ausführen, und um den Status zu überprüfen, führen Sie den folgenden Befehl aus. Sie können den Namen, den Anbieter, den Status, die ID und die Verzeichnisinformationen aller Vagrant-Boxen auf Ihrem Computer abrufen, indem Sie Folgendes verwenden:
$ vagrant global-status --prune
Nun, da Sie vielleicht ein ziemliches Verständnis dafür haben, was Vagrant tut. Im nächsten Artikel werden wir wichtige Vagrant-Befehle sehen und wie man sich mit einer Box verbindet und daran arbeitet.