Packer est une solution opensource permettant de construire des images machine pour de multiples plateformes cloud. Il est utilisé dans une approche « d'infrastructure as code » afin de pouvoir maintenir facilement les logiciels déployés sur les serveurs. - Syloe
L'objectif de ce dépôt est de déployer une template de machine virtuelle Debian pré-configurée. (Authentification par clé SSH, ou installation d'un agent de supervision à la fin de l'installation)
Pré-requis:
Editez le fichier build.sh
pour y mettre les identifiants de votre Proxmox :
export proxmox_url="https://IP_PROXMOX:8006/api2/json"
export proxmox_node="NOM_NOEUD"
export proxmox_username="root@pam" # packer@pve si vous créez un utilisateur "packer".
export proxmox_password="Password"
Pensez à vérifier que les noms des pools de stockages sont les mêmes que vous (local, local-zfs).
Il sera obligatoire de fournir une clé ssh qui sera ajoutée à l'utilisateur root de la machine.
export vm_keys=$(echo "$(cat ~/.ssh/id_ed25519.pub)")
Il est possible d'ajouter plusieurs clés de cette manière :
export vm_keys=$(echo "$(cat ./KeyDEPLOY.id_rsa.pub)\n$(cat ./KeyINFRA.id_rsa.pub)\n$(cat ~/.ssh/id_rsa.pub)")
Si vous êtes sur Ubuntu, vous devrez ajouter le ssh-rsa en algorithme de chiffrement compatible. Voici l'erreur sur laquelle vous tomberez :
proxmox: fatal: [default]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Unable to negotiate with 127.0.0.1 port 32985: no matching host key type found. Their offer: ssh-rsa", "unreachable": true}
La solution est d'accepter cet algorithme dans votre fichier ~/.ssh/config
.
Host 127.0.0.1
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa