ansible_traefikee

Traefikee

Установка и настройка кластера TraefikEE на своём сервере.

Переменные роли

Из умолчаний (пропускаем скучные вещи, смотрите файл для тонкой настройки, такой как путь установки, имя сервиса systemd, командные строки запуска и т.д.):


# Названия групп в инвентаре для контроллеров и прокси
traefikee_controller_group: traefikee_controller
traefikee_proxy_group: traefikee_proxy

# Эти параметры устанавливаются в true только при установке кластера.
traefikee_install: false  # true для установки бинарных файлов traefikee
traefikee_configure: false  # true для настройки и запуска сервисов systemd

# Динамическая конфигурация
# каждая запись — это конфигурационный файл. Если конфигурация равна false
# файл конфигурации удаляется
#
# пример:

# 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: {}

# Получите лицензионный ключ, связавшись с торговой командой Containous
traefikee_license_key: ""

# информация о загрузке бинарных файлов
traefikee_version: 2.0.2
traefikee_arch: linux_amd64

# При запуске traefikee обращается за проверкой лицензии. Это добавляется как
# переменные окружения сервиса systemd.
traefikee_http_proxy: ""
traefikee_https_proxy: "{{ traefikee_http_proxy }}"

# Добавьте дополнительные переменные окружения здесь.
# Например, для конфигурации 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: ""

# Статическая конфигурация является точной копией этого отображения
traefikee_cluster_config:
  entryPoints:
    http:
      address: ":80"
    https:
      address: ":443"
  providers:
    # этот провайдер необходим, если хотите использовать traefikee_cluster_dynamic_config
    file:
      directory: "{{ traefikee_cluster_dynamic_config_dir }}"
      watch: true

Пример плейбука

Учитывая этот инвентарь:

all:
  children:
    traefikee:
      vars:
        # TODO: В данный момент это жестко закодировано, нужно получить это из фактов 
        traefikee_controller_listen_address: 10.108.0.18
        # очевидно, это должно быть сохранено в хранилище
        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:

Установка и настройка кластера

- hosts: traefikee
  become: yes
  environment:
    # эти параметры необходимы, так как процесс установки требует доступа в интернет
    http_proxy: http://mysquid:3128
    https_proxy: http://mysquid:3128
  vars:
    traefikee_install: yes
    traefikee_configure: yes
  roles:
    - traefikee

Обновление динамической конфигурации

Обратите внимание, что старая конфигурация remove_me удалена, а my_site создана или обновлена.

- 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

Лицензия

© 2020 – Kosc Telecom

Распространяется на условиях GPLV3

О проекте

Install and configure a TraefikEE on-prem cluster

Установить
ansible-galaxy install kosctelecom/ansible-traefikee
Лицензия
Unknown
Загрузки
3908
Владелец