70 lines
2.2 KiB
Markdown
70 lines
2.2 KiB
Markdown
# ansible_update_vm_os_proxmox
|
|
|
|
**Ne pas utiliser en production sur un ordinateur personnel. Dédier une VM à Ansible sur un hyperviseur sécurisé.**
|
|
|
|
Les fichiers de configurations inventory.yml, host_vars/* group_vars/* sont adapter pour VM, vous pouvez en ajouter ou en supprimer
|
|
|
|
# Valeurs à replacer et à adapter
|
|
|
|
Dans inventory.yml remplacer :
|
|
|
|
- ChangeMe-NameVm par le nom de votre vm. (à remplacer également dans les accolades {{ }})
|
|
|
|
Dans le dossier host_vars :
|
|
- Renommé ChangeMe-NameVm par le nom de votre vm.
|
|
|
|
À l'intérieur des fichier host_vars:
|
|
- Remplacer "Changeme-ID"par l'id de votre VM
|
|
- remplaer la valeur ChangeMe-NameVm dans {{ vault_ChangeMe-NameVm_root_password }}
|
|
|
|
Dans group_vars/vm/proxmox.yml:
|
|
- Remplacer ChangeMe-IpOrDnsName
|
|
- Adapter ansible@pam par un utilisateur ayant les droits de faire des snapshot et l'audit de vm
|
|
- Adapter ansible_snapshot par l'ID de votre token.
|
|
|
|
Dans le fichier group_vars/vm/vault.yml:
|
|
- Remplacer ChangeMe-NameVm par le nom de votre vm.
|
|
- Replacer ChangeMe-user par le nom d'utilisateur utilisé pour le ssh.
|
|
- Replacer ChangeMe-password par le mot de passe de l'utilisateur ssh.
|
|
- Remplacer ChangeMe-token_secret par le secret du token généré pour l'utilisateur Proxmox
|
|
- Remplacer ChangeMe-password_root par le mot de passe root de votre VM.
|
|
|
|
Dans le fichier group_vars/vm/variables.yml:
|
|
- Remplacer ChangeMe-NameVm0 dans la clé des variables ainsi que dans les accolades {{ vault_ChangeMe-NameVm_user }}
|
|
|
|
# Chiffrer le fichier vault.yml
|
|
|
|
Dabord, créer le fichier vault_password.txt à la racine du répertoire. Lui donner les droits avec chmod
|
|
|
|
```
|
|
chmod 600 vault_password.txt
|
|
```
|
|
|
|
Et renseigner le mot de passe pour ansible-vault.
|
|
|
|
Puis chiffrer le fichier vault.yml
|
|
|
|
```
|
|
ansible-vault encrypt group_vars/vm/vault.yml --encrypt-vault-id default
|
|
```
|
|
|
|
## Si vous ne voulez pas utiliser de fichier vault_password.txt
|
|
|
|
Retirer dans ansible.cfg :
|
|
|
|
vault_password_file = vault_password.txt
|
|
vault_identity_list = default@vault_password.txt
|
|
|
|
# Installer Ansible dans un venv
|
|
|
|
```
|
|
python3 -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
# Jouer votre playbook
|
|
|
|
```
|
|
ansible-playbook playbook.yml
|