enix.proxmox_ve

enix.proxmox_ve

Un rol para desplegar y configurar Proxmox VE en hosts Unix utilizando Ansible. Este rol está realmente relacionado con el uso de Enix al configurar volúmenes LVM locales, multipath ISCSI, etc. Por lo tanto, puede que no sea relevante para todos, sin embargo, cada paso es configurable, así que se puede usar de forma independiente.

Requisitos

Objetivos soportados:

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

Variables del Rol

Este rol viene precargado con casi todos los valores predeterminados disponibles. Puedes sobrescribir cada uno en tus variables de hosts/grupos, en tu inventario, o en tu función. Consulta los valores predeterminados anotados en defaults/main.yml para obtener ayuda en la configuración. Todas las variables proporcionadas comienzan con proxmox_ve__.

  • proxmox_ve__force_reboot - :warning: Precaución :warning:. En caso de cambios importantes en la configuración, esto reiniciará automáticamente el host. predeterminado: falso.
  • proxmox_ve__enterprise - habilitar o no la suscripción empresarial para Proxmox VE. predeterminado: falso.
  • proxmox_ve__disable_smt - desactivar SMT (Hyperthreading) como opción del núcleo de arranque. Consulta [https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html#smt-control] para detalles sobre las vulnerabilidades asociadas. predeterminado: falso.
  • proxmox_ve__net_ovs - habilitar configuración de red OpenVswitch en el host, predeterminado: falso.
  • proxmox_ve__net_template - plantilla utilizada para la configuración de /etc/network/interfaces en el host, predeterminado: interfaces.j2. La ruta se puede cambiar o sobrescribir en tu playbook. La plantilla predeterminada solo proporciona una configuración básica de puente.
  • proxmox_ve__storage_lvm - descripción del almacenamiento LVM a inicializar y configurar en Proxmox. ejemplo de configuración arriba.
  • proxmox_ve__storage_lvm_options - opciones para cambiar en lvm.conf. predeterminado: none.
  • proxmox_ve__lvm_global_filter - filtro global de lvm. predeterminado: [ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|", "r|/dev/mapper/.*-(vm|base)--[0-9]+--disk--[0-9]+|"].
  • proxmox_ve__storage_iscsi - descripción del almacenamiento ISCSI a configurar en Proxmox. ejemplo de configuración arriba.
  • proxmox_ve__storage_iscsi_options - opciones para cambiar en iscsid.conf. predeterminado:
proxmox_ve__storage_iscsi_options:
  - option: node.session.timeo.replacement_timeout
    value: 10
    state: present
  • proxmox_ve__spv_user - nombre de usuario con rol PVEAuditor utilizado para supervisión. predeterminado: prometheus@pve
  • proxmox_ve__spv_password - contraseña para el usuario de supervisión. Si no se define, no se crea ningún usuario.
  • proxmox_ve__storage_iscsi_multipath_template - archivo de plantilla a usar para la configuración de multipath.
  • proxmox_ve__migration_secure - Define el nivel de seguridad de las migraciones. Consulta [https://pve.proxmox.com/wiki/Manual:_datacenter.cfg]. predeterminado: true.
  • proxmox_ve__cluster_ip - IP a usar para el agrupamiento de Proxmox. Esto cambiará la IP del nodo en /etc/hosts. predeterminado: ansible_default_ipv4.address.

Dependencias

  • Ninguna

Uso

Clona este repositorio en tu directorio de roles:

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

O usa Ansible galaxy requirements.yml

# rol público
- src: enix.proxmox_ve
  name: proxmox_ve

Y añádelo a los roles de tu función:

- 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

También puedes usar el rol como un playbook. Se te preguntará qué hosts provisionar, y puedes configurar aún más la función usando --extra-vars.

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

Pendientes

  • agregar automáticamente hosts a los clústeres
  • gestionar usuarios y credenciales

Historial de Cambios

3.1.0

Añadir soporte para IP de clúster específico.

3.0.0

Agregar soporte para Debian Bookworm y la rama Proxmox VE 8.x.

2.8.0

Agregar la opción proxmox_ve__migration_secure para deshabilitar el mecanismo de migración segura si es necesario.

2.7.0

Agregar proxmox_ve__storage_lvm_options para configurar opciones en lvm.conf.

2.6.0

Agregar soporte para Proxmox 7.0 / BullsEye.

2.5.0

Agregar la creación de un usuario de rol de supervisión en el clúster.

2.4.1

Actualizar el multipath.conf predeterminado para cumplir con los cambios de Debian Buster (find_mulitpaths).

2.4.0

Actualizar lvm global_filter al nuevo valor predeterminado 6.1. Correcciones de depreciación.

2.3.0

Arreglar problemas de lvm. Añadir opciones de configuración de iscsi.

2.2.0

Agregar opción proxmox_ve__disable_smt.

2.1.1

Cambiar a el nombre de rol enix.deb.

2.1.0

Permitir sobrescribir lvm global_filter. Agregar configuración de /etc/hosts.

2.0.0

Ahora incluye la función de reinicio automático del host, gestión adecuada del almacenamiento.

1.0.0

Primera versión que incluye la configuración básica del almacenamiento.

Licencia

GPLv2

Información del Autor

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

Acerca del proyecto

Ansible role to deploy proxmox VE software

Instalar
ansible-galaxy install enix.proxmox_ve
Licencia
Unknown
Descargas
475
Propietario
Enix