Im vorherigen Artikel haben wir gesehen, wie man eine virtuelle Maschine mit vagrant hochfährt. In diesem Artikel konzentrieren wir uns auf die Anpassung der Vagrant-Datei an unsere Anforderungen und sehen wichtige Befehle für die Arbeit mit dem Vagrant.
Erstellen Sie ein neues Vagrant-Projektverzeichnis
Lassen Sie mich einen neuen Projektordner „vagrant_testing“ erstellen “ und unter diesem Lauf die vagrant init Befehl zum Einrichten eines neuen Projekts.
$ mkdir ~/vagrant_testing $ vagrant init -m "ubuntu/focal64"
Aus dem folgenden Bild können Sie sehen, dass ich eine minimale Konfigurationsdatei mit dem -m
erstellt habe Flag mit vagrant init Befehl.
$ cat Vagrantfile
Lassen Sie uns nun die folgenden Parameter ändern und zu unserer Vagrant-Datei hinzufügen.
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box_check_update = false config.vm.allow_hosts_modification = true config.vm.define "ubuntu" do |vmbox| vmbox.vm.box = "ubuntu/focal64" vmbox.vm.define "Ubuntu" vmbox.vm.hostname = "shelltips-vagrant" vmbox.vm.network "public_network", bridge: "Intel(R) Dual Band Wireless-AC 7265", ip: "192.168.1.100" vmbox.vm.synced_folder ".", "/vagrant/", disabled: true vmbox.vm.synced_folder "/home/karthick/shelltips", "/vagrant/shelltips", disabled: false vmbox.vm.provider "virtualbox" do |vmvbox| vmvbox.memory = "2048" vmvbox.cpus = 2 end end end
Lassen Sie mich die Verwendung all dieser Parameter erklären.
config.vm.box_check_update =false | Deaktivieren Sie die Aktualisierungsprüfung während des Systemstarts |
config.vm.allow_hosts_modification =true | Erlaube Vagrant, die Datei /etc/hosts zu aktualisieren |
vmbox.vm.box =„ubuntu/focal64“ | Box, die Sie herunterladen und verwenden müssen |
vmbox.vm.define „Ubuntu“ | Name für die VM. „Standard“ wird zugewiesen, wenn Sie den Namen nicht definieren. |
vmbox.vm.hostname =„shelltips-vagrant“ | Einrichten des Hostnamens für Ihre VM |
vmbox.vm.synced_folder ., „/vagrant“, deaktiviert:true vmbox.vm.synced_folder „/home/karthick/shelltips“, „/vagrant/shelltips“, deaktiviert:falsch | Einrichten des synchronisierten Ordners. Deaktivieren des standardmäßig synchronisierten Ordners und Hinzufügen meines benutzerdefinierten Ordners. Sie müssen „deaktiviert:wahr/falsch“ einstellen. um die freigegebenen Ordner ein- oder auszuschalten. |
vmbox.vm.network „public_network“, Brücke:„Intel(R) Dual Band Wireless-AC 7265“, IP:„192.168.1.100“ | Einrichten meines virtuellen Netzwerks für den überbrückten Adaptermodus und Zuweisen einer IP-Adresse. Virtualbox verfügt über fünf verschiedene Netzwerkmodi, und Sie können den für Ihre Verwendung geeigneten auswählen Fall. |
vmbox.vm.provider „virtualbox“ do |vmvbox| | Speicher und CPU-Kerne für meine VM definieren |
Wenn ich jetzt den Vagabunden hochfahre Befehl wird es meine virtuelle Maschine gemäß dem benutzerdefinierten Parameter konfigurieren, den ich in der Vagrant-Datei deklariert habe.
SSH zu Vagrant Virtual Machine
Um sich jetzt mit der virtuellen Maschine zu verbinden, führen Sie einfach „vagrant ssh“ aus " Befehl. Wenn Sie mehrere Maschinen haben, können Sie sich mit der jeweiligen Maschine über ihre ID oder ihren Namen verbinden. Diese Informationen können Sie dem global-status entnehmen Befehl.
$ vagrant ssh $ vagrant ssh [id|name]
Der Hostname wird ebenfalls aktualisiert und die in der Vagrant-Datei angegebene IP-Adresse wird ebenfalls erstellt.
$ ip a s $ hostname
Sobald Ihre vagabundierende virtuelle Maschine hochgefahren ist, können Sie zu Ihrem Virtualbox-GUI-Manager gehen und überprüfen, ob alle Konfigurationen dem definierten Wert entsprechen.
Wenn Sie nun die passwortbasierte Authentifizierung für Ihre virtuelle Maschine aktivieren möchten, führen Sie den folgenden Befehl in Ihrer VM aus. Dadurch wird die Kennwortauthentifizierung auf „true“ gesetzt.
$ sudo sed -i "/^[^#]*PasswordAuthentication[[:space:]]no/c\PasswordAuthentication yes" /etc/ssh/sshd_config $ sudo service sshd restart
Jetzt anstatt vagrant ssh auszuführen , können Sie den herkömmlichen ssh-Verbindungsbefehl ausführen.
$ ssh [email protected] ⇒ Bridged Network $ ssh vagrant@localhost -p 2222 ⇒ Nat Network
Führen Sie den folgenden Befehl aus, um eine laufende VM zu stoppen.
$ vagrant halt ⇒ Gracefully shutdown the VM $ vagrant suspend [name|id] ⇒ Put the Machine into a suspended state $ vagrant resume [name|id] ⇒ Resume the suspended VM
Jetzt haben Sie eine laufende Maschine. Wenn Sie sich plötzlich entscheiden, einen Parameter in Ihrer Vagrant-Konfigurationsdatei zu ändern, müssen Sie die Maschine neu laden.
$ vagrant reload
Der Befehl vagrant reloads fährt die VM ordnungsgemäß herunter und bringt die VM gegebenenfalls mit neuen Konfigurationen wieder hoch.
Aktualisierung der Vagrant Box
Sie können überprüfen, ob Ihre Box auf dem neuesten Stand ist, indem Sie den folgenden Befehl ausführen.
$ vagrant box outdated --global ==> check for an outdated version of all boxes in your machine
Führen Sie den folgenden Befehl aus, um die Updates herunterzuladen. Ein wichtiger Punkt, der hier zu beachten ist, ist, dass Updates nicht auf die aktuelle Box angewendet werden, die Sie ausführen. Sie müssen Ihre aktuelle Box zerstören und die neu heruntergeladene aktualisierte Box hochfahren.
$ vagrant box update --box ubuntu/focal64 --provider Virtualbox
Vagabundenkiste zerstören
Um eine Vagabundenkiste zu zerstören, führen Sie Vagabunden zerstören aus Befehl, der alle Dateien einschließlich Disk-Images löscht, aber nicht die heruntergeladene Box von der Vagrant-Site löscht.
$ vagrant destroy [name|id]
Vagabundenkiste entfernen
Um die Vagrant-Box zu entfernen, führen Sie Folgendes aus:
$ vagrant box remove ubuntu/focal64
Im nächsten Artikel werfen wir einen Blick darauf, wie Sie Shell-Provisioner verwenden und die Bereitstellung Ihrer Vagrant-Boxen automatisieren.