intro-vagrant
Vagrant et VMWare sur MacOS
Vagrant reste l’un des utilitaires les plus populaires pour de telles tâches, il a une syntaxe flexible et prend en charge les structures algorithmiques de base – vous pouvez élever les machines N et K dans une boucle en utilisant des variables entrées à l’avance, puis également générer un inventaire ansible à la sortie , divisant les machines en groupes.
Installation vagrant
- Installation de rosette Tout d’abord, vous devez installer Rosetta 2, pour cela, lancez la commande suivante :
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
- Installation vagrant Vagrant
Ensuite, vous devez installer Vagrant lui-même. Cela peut être fait en le téléchargeant depuis le site officiel vagrant
brew install vagrant
Vous pouvez également vérifier que Vagrant s’exécute depuis la console :
vagrant -v
- Hyperviseur
Ici, les premières blagues commencent, mais avant tout. Nous ne pouvons pas simplement prendre et télécharger à partir du site Web de VMWare. Mais nous pouvons voir la version actuelle. Nous allons sur le site vmware , nous y trouvons et notons les chiffres :
Après cela, nous pouvons télécharger ce fichier à partir du lien, en remplaçant la version par la version actuelle. Par exemple, vous pouvez utiliser la commande :
wget https://download3.vmware.com/software/FUS-PUBTP-22H2/VMware-Fusion-e.x.p-#{version}_universal.dmg
Alternativement, vous pouvez installer via brew :
brew install --cask vmware-fusion
Mais ce n’est pas tout. Le fait est que » Tech Preview » est installé dans son propre chemin ( /Applications/VMWare Fusion Tech Preview.app), et les fournisseurs Vagrant chercheront VMWare dans le standard ( /Applications/VMWare Fusion.app). Pour résoudre ce malentendu, utilisons la commande:
ln -s /Applications/VMWare\ Fusion\ Tech\ Preview.app /Applications/VMWare\ Fusion.app
- Utilitaire vmware Vagrant La page dédiée à cet utilitaire est: vmware mais vous pouvez simplement suivre le lien ci-dessous pour télécharger et installer la dernière version [hashicorp](https://developer.hashicorp .com/vagrant/downloads/vmware).
Alternativement, vous pouvez utiliser à nouveau l’infusion :
brew install vagrant-vmware-utility
Après l’installation, je recommande de vérifier les performances de l’utilitaire, en passant, vous pouvez le déboguer de la même manière pour comprendre ce qui ne fonctionne pas (j’ai découvert l’incompatibilité des chemins d’installation):
sudo /opt/vagrant-vmware-desktop/bin/vagrant-vmware-utility api -debug
La sortie peut donner une erreur indiquant que le port 9922 est déjà occupé. Cela se produit si l’utilitaire est déjà activé et en cours d’exécution. Il peut être désactivé et débogué.
Vérifiez si les ports sont occupés:
sudo lsof -i -P | grep LISTEN | grep 'vagrant-v'
Utilitaire de téléchargement :
sudo launchctl unload -w /Library/LaunchDaemons/com.vagrant.vagrant-vmware-utility.plist
Téléchargez l’utilitaire :
sudo launchctl load -w /Library/LaunchDaemons/com.vagrant.vagrant-vmware-utility.plist
Vous pouvez également vérifier la fonctionnalité de l’utilitaire avec la commande :
sudo launchctl list | grep vagrant
- Plugin VMWare Vagrant
Pour installer le plugin, lancez simplement la commande :
vagrant plugin install vagrant-vmware-desktop
Démarrage de la machine virtuelle
Ensuite, le plus difficile 🙂 En général, tout ce qui précède peut passer sans erreur, mais la machine ne démarre toujours pas. J’ai essayé de nombreuses variantes, combinaisons et paramètres de vagrantfile et je vous fournirai une solution qui a fonctionné pour moi et mes étudiants.
J’ai pu identifier trois problèmes principaux lors du démarrage d’une machine virtuelle :
Boxe (image de machine virtuelle) pour les processeurs ARM Les images prêtes à l’emploi diffèrent selon les fournisseurs , sous lesquels elles sont affinées, les processeurs et le contenu. Il y a des images populaires qui n’ont pas fonctionné pour moi, il y a des images avec 100 téléchargements qui se sont avérées efficaces. J’ai opté pour les éléments suivants : spox/ubuntu-arm et bytesguy/ubuntu-server-20.04-arm64 GUI Pour des raisons que je n’ai pas encore pu comprendre (dites-le moi dans les commentaires !) – la machine virtuelle ne démarrera pas si l’interface graphique est désactivée (et elle est désactivée par défaut). Compte tenu de cette fonctionnalité, vous devez ajouter un paramètre vmware.gui = trueà la configuration de Vagrantfile Réseau Lorsque votre machine est déjà pratiquement en cours d’exécution, vagrant peut geler par traîtrise à une étape ==> default: Waiting for the VM to receive an address... La solution a été trouvée – spécifiez vmware.vmx["ethernet0.virtualdev"]= « vmxnet3 » dans la configuration de Vagrantfile Nous créons un répertoire pour la configuration de notre future machine et Vagrantfile dedans. Le Vagrantfile final est le suivant :
Vagrant.configure("2") do |config|
config.vm.box = "spox/ubuntu-arm"
config.vm.box_version = "1.0.0"
config.vm.provider :vmware_desktop do |vmware|
vmware.gui = true
vmware.cpus = 2
vmware.vmx["ethernet0.virtualdev"] = "vmxnet3"
vmware.ssh_info_public = true
vmware.linked_clone = false
end
end
Vagrant.configure("2") do |config|
config.vm.box = "spox/ubuntu-arm"
config.vm.box_version = "1.0.0"
end
[url-doc] vmware-macos
[url-vmware] vmware
[doc-vmware-utility] vmware-utility