enix.proxmox_ve

enix.proxmox_ve

Un rôle pour déployer et configurer Proxmox VE sur des hôtes unix en utilisant Ansible. Ce rôle est principalement lié à l'utilisation d'enix en configurant des volumes LVM locaux, ISCSI multi-chemins, etc. Il n'est donc peut-être pas pertinent pour tout le monde, cependant chaque étape est configurable et peut être utilisée indépendamment.

Exigences

Cibles prises en charge :

  • Debian 10 "Buster"
  • Debian 11 "Bullseye"
  • Debian 12 "Bookworm"

Variables du rôle

Ce rôle est préchargé avec presque tous les paramètres par défaut disponibles. Vous pouvez remplacer chacun d'eux dans vos variables d'hôtes/groupe, dans votre inventaire ou dans votre play. Consultez les valeurs par défaut annotées dans defaults/main.yml pour vous aider dans la configuration. Toutes les variables fournies commencent par proxmox_ve__.

  • proxmox_ve__force_reboot - :warning: Avertissement :warning:. En cas de changements de configuration importants, cela redémarrera automatiquement l'hôte. Par défaut : false.
  • proxmox_ve__enterprise - active ou non l'abonnement entreprise pour Proxmox VE. Par défaut : false.
  • proxmox_ve__disable_smt - désactive SMT (Hyperthreading) en tant qu'option du noyau au démarrage. Voir [https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html#smt-control] pour des détails sur les failles associées. Par défaut : false.
  • proxmox_ve__net_ovs - active la configuration réseau OpenVswitch sur l'hôte, Par défaut : false.
  • proxmox_ve__net_template - modèle utilisé pour la configuration de /etc/network/interfaces sur l'hôte, Par défaut : interfaces.j2. Le chemin peut être changé ou remplacé dans votre playbook. Le modèle par défaut fournit seulement une configuration de pont de base.
  • proxmox_ve__storage_lvm - description du stockage lvm à initialiser et configurer dans proxmox. Exemple de configuration ci-dessus.
  • proxmox_ve__storage_lvm_options - options à modifier dans lvm.conf. Par défaut : none.
  • proxmox_ve__lvm_global_filter - filtre global de lvm. Par défaut : [ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|" "r|/dev/mapper/.*-(vm|base)--[0-9]+--disk--[0-9]+|"].
  • proxmox_ve__storage_iscsi - description du stockage iscsi à configurer dans proxmox. Exemple de configuration ci-dessus.
  • proxmox_ve__storage_iscsi_options - options à changer dans iscsid.conf. Par défaut :
proxmox_ve__storage_iscsi_options:
  - option: node.session.timeo.replacement_timeout
    value: 10
    state: present
  • proxmox_ve__spv_user - nom d'utilisateur avec le rôle PVEAuditor utilisé pour la supervision. Par défaut : prometheus@pve
  • proxmox_ve__spv_password - mot de passe pour l'utilisateur de supervision. S'il n'est pas défini, aucun utilisateur n'est créé.
  • proxmox_ve__storage_iscsi_multipath_template - fichier modèle à utiliser pour la configuration multipath.
  • proxmox_ve__migration_secure - définit le niveau de sécurité des migrations. Voir [https://pve.proxmox.com/wiki/Manual:_datacenter.cfg]. Par défaut : true.
  • proxmox_ve__cluster_ip - IP à utiliser pour le clustering proxmox. Cela changera l'IP du nœud dans /etc/hosts. Par défaut : ansible_default_ipv4.address.

Dépendances

  • Aucune

Utilisation

Clonez ce dépôt dans votre répertoire de rôles :

$ git clone https://gitlab.enix.org/ansible/ansible-proxmox_ve.git roles/proxmox_ve

Ou utilisez Ansible galaxy requirements.yml

# rôle public
- src: enix.proxmox_ve
  name: proxmox_ve

Et ajoutez-le aux rôles de votre play :

- hosts: all
  roles:
    - role: enix.proxmox_ve
      proxmox_ve__storage_iscsi:
        - name: iscsi-storage
          portal: 192.168.0.1
          target: iqn.2015-11.com.storage:iscsi.12315132
          volumes:
            - name: bigvolume
              wwid: 3600c0ff0003bb7fcb730e75a01000000
      proxmox_ve__storage_lvm:
        - name: "localvm"
          devices:
            - /dev/md12
          pesize: "128"
          shared: 0
        - name: "iscsilvm"
          devices:
            - /dev/mapper/bigvolume
          pesize: "256"
          shared: 1
      proxmox_ve__storage_lvm_options:
        - option: issue_discards
          value: 0

Vous pouvez également utiliser le rôle comme un playbook. Vous serez invité à choisir les hôtes à provisionner, et vous pourrez configurer davantage le play en utilisant --extra-vars.

$ ansible-playbook -i inventory --extra-vars='{...}' main.yml

À faire

  • ajouter automatiquement des hôtes aux clusters
  • gérer les utilisateurs et les informations d'identification

Journal des modifications

3.1.0

Ajout du support pour l'IP de cluster spécifique.

3.0.0

Ajout de la prise en charge de Debian Bookworm et de la branche Proxmox VE 8.x.

2.8.0

Ajout de l'option proxmox_ve__migration_secure pour désactiver le mécanisme de migration sécurisée si nécessaire.

2.7.0

Ajout de proxmox_ve__storage_lvm_options pour configurer des options dans lvm.conf.

2.6.0

Ajout de la prise en charge de Proxmox 7.0 / BullsEye.

2.5.0

Ajout de la création d'un utilisateur de rôle de supervision sur le cluster.

2.4.1

Mise à jour de la configuration par défaut de multipath.conf pour se conformer aux changements de debian buster (find_mulitpaths).

2.4.0

Mise à jour du filtre global de lvm pour la nouvelle valeur par défaut 6.1. Corrections de dépréciation.

2.3.0

Correction des problèmes lvm. Ajout d'options de configuration iscsi.

2.2.0

Ajout de l'option proxmox_ve__disable_smt.

2.1.1

Changement pour le rôle enix.deb role_name.

2.1.0

Autorisation de remplacement du filtre global de lvm. Ajout de la configuration de /etc/hosts.

2.0.0

Inclut désormais la fonctionnalité de redémarrage automatique des hôtes, gestion correcte du stockage.

1.0.0

Première version incluant la configuration de stockage de base.

Licence

GPLv2

Informations sur l'auteur

Laurent CORBES laurent.corbes@enix.fr - http://www.enix.fr

À propos du projet

Ansible role to deploy proxmox VE software

Installer
ansible-galaxy install enix.proxmox_ve
Licence
Unknown
Téléchargements
475
Propriétaire
Enix