lisael.ansible_traefikee

Traefikee

Instalar y configurar un clúster on-prem de TraefikEE

Variables de Rol

Desde los valores predeterminados (omitimos cosas aburridas, consulta el archivo para ajustes finos como la ruta de instalación, nombre del servicio systemd, líneas de comando al inicio...):

# Nombres de los grupos en el inventario para los controladores y los proxies
traefikee_controller_group: traefikee_controller
traefikee_proxy_group: traefikee_proxy

# Estos se establecen en verdadero solo en la instalación del clúster.
traefikee_install: false  # verdadero para instalar los binarios de traefikee
traefikee_configure: false  # verdadero para configurar e iniciar los servicios systemd

# Configuración dinámica
# cada entrada es un archivo de configuración. Si la configuración evalúa a falso
# el archivo de configuración se elimina
#
# ejemplo:

# traefikee_cluster_dynamic_config:
#   my_site:
#     http:
#       routers:
#         my-site-router:
#           rule: "Host('www.example.org')"
#           entryPoints:
#             - https
#           service: site
#       services:
#         site:
#           loadBalancer:
#             servers:
#               - url: "http://10.0.0.42:8000"
#   my_old_site: null

traefikee_cluster_dynamic_config: {}

# Obtén una clave de licencia contactando al equipo de ventas de Containous
traefikee_license_key: ""

# Información de descarga de binarios
traefikee_version: 2.0.2
traefikee_arch: linux_amd64

# Al iniciar, traefikee verifica la licencia. Esto se agrega como
# variables de entorno del servicio systemd.
traefikee_http_proxy: ""
traefikee_https_proxy: "{{ traefikee_http_proxy }}"

# Agrega variables de entorno adicionales aquí.
# por ejemplo, para la configuración de Lego (https://docs.traefik.io/https/acme/):
# traefikee_environment_extra: |
#   OVH_ENDPOINT=ovh-eu
#   OVH_APPLICATION_KEY=123456
#   OVH_APPLICATION_SECRET=123456
#   OVH_CONSUMER_KEY=abcdef1234
traefikee_environment_extra: ""

# La configuración estática es una copia exacta de este mapeo
traefikee_cluster_config:
  entryPoints:
    http:
      address: ":80"
    https:
      address: ":443"
  providers:
    # este proveedor es requerido si se desea usar traefikee_cluster_dynamic_config
    file:
      directory: "{{ traefikee_cluster_dynamic_config_dir }}"
      watch: true

Ejemplo de Playbook

Dado este inventario:

all:
  children:
    traefikee:
      vars:
        # TODO: Por ahora esto está codificado, debemos obtenerlo de los hechos 
        traefikee_controller_listen_address: 10.108.0.18
        # obviamente esto debería estar protegido
        traefikee_license_key: !vault |
           **********
        traefikee_http_proxy: http://mysquid:3128
      children:
        traefikee_controller:
          hosts:
            traefik-ctl-01.example.net:
        traefikee_proxy:
          hosts:
            traefik-proxy-01.example.net:
            traefik-proxy-02.example.net:

Instalar y configurar el clúster

- hosts: traefikee
  become: yes
  environment:
    # estos son necesarios, ya que el proceso de instalación alcanza a Internet
    http_proxy: http://mysquid:3128
    https_proxy: http://mysquid:3128
  vars:
    traefikee_install: yes
    traefikee_configure: yes
  roles:
    - traefikee

Actualizar la configuración dinámica

Ten en cuenta que la configuración antigua remove_me se elimina, mientras que my_site se crea o actualiza.

- hosts: traefikee
  become: yes
  vars:
    traefikee_cluster_dynamic_config:
      remove_me: null
      my_site:
        http:
          routers:
            my-site-router:
              rule: "Host('www.example.org')"
              entryPoints:
                - http
              service: site
          services:
            site:
              loadBalancer:
                servers:
                  - url: "http://10.0.0.42:8000"

  roles:
    - traefikee

Licencia

© 2020 – Kosc Telecom

Distribuido bajo los términos de GPLV3

Acerca del proyecto

Install and configure a TraefikEE on-prem cluster

Instalar
ansible-galaxy install lisael.ansible_traefikee
Licencia
Unknown
Descargas
3.9k
Propietario