tobias_richter.proxmox
tobias_richter.proxmox
Este rol se encarga de configurar algunas partes del entorno virtual de Proxmox:
- descarga de plantillas lxc
 - configuración de sysctl
 - configuraciones especiales de contenedores lxc (ej. permitir stick zigbee en el contenedor, permitir vpn tinc en el contenedor)
 - dominios de autenticación ldap
 - directorio temporal de zvdump
 - backend de monitoreo para influxdb
 - configuración de relay de correo postfix para enviar correos
 - dominio dns
 - servidor de nombres
 
Requisitos
Este rol requiere Ansible 2.7 o superior.
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados (ver defaults/main.yml):
pve_templates: []
  #- debian-10.0-standard_10.0-1_amd64.tar.gz
  #- ubuntu-18.04-standard_18.04.1-1_amd64.tar.gz
Define las plantillas que se van a aprovisionar / descargar.
pve_sysctl: []
  #- name: kernel.shmall
  #  value: 4194304
  #- name: kernel.shmmax
  #  value: 17179869184
Define los valores de sysctl a configurar.
pve_ldap_domains: []
  #- name: "Mi nombre"
  #  password: "contraseña de enlace"
  #  server: "ldap.corp"
  #  bind_dn: "uid=ldapbind,ou=users,dc=ldap,dc=corp"
  #  base_dn: "ou=users,dc=ldap,dc=corp"
  #  user_attr: "uid"
  #  default: 1
  #  secure: 1
Configura dominios de autenticación ldap.
pve_vzdump_tmpdir: /opt/vzdump-tmp
Ruta al directorio temporal de pve_vzdump.
pve_lxc_config: []
#  - id: 111
#    options:
#      # permitir creación de túneles en lxc para VPN
#      - name: lxc.cgroup.devices.allow
#        value: "c 10:200 rwm"
#        state: absent
#      - name: lxc.cap.keep
#        value: "sys_module mknod"
#        state: absent
#      - name: lxc.mount.entry
#        value: /dev/net/tun dev/net/tun none bind,create=file
#  - id: 117
#    options:
#      # permitir stick zigbee en contenedor
#      - name: lxc.cgroup.devices.allow
#        value: "c 166:* rwm"
#        state: present
#      - name: lxc.mount.entry
#        value: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
Configuraciones personalizadas de lxc. Ver líneas comentadas para ejemplos.
# pve_influxdb_port:
# pve_influxdb_host:
Configura monitoreo para influxdb.
pve_dns_domain: local
Configura el dominio de búsqueda dns.
pve_nameserver: 8.8.8.8
Configura el servidor de nombres primario (google es el predeterminado).
Ejemplo de Playbook
Este playbook descarga la plantilla lxc para Debian 10 / Buster y aplica configuraciones cuando deseas ejecutar gitlab en un contenedor lxc.
- hosts: pve
  roles:
    - role: tobias_richter.proxmox
      # preparar plantilla de debian
      pve_templates:
        - debian-10.0-standard_10.0-1_amd64.tar.gz
      # configuraciones del kernel para gitlab al ejecutarse en contenedor lxc 
      pve_sysctl:
        - name: kernel.shmall
          value: 4194304
        - name: kernel.shmmax
          value: 17179869184
ansible-galaxy install tobias_richter.proxmox