envoyproxy
Роль Ansible для Envoy Proxy
Envoy Proxy — это мощный прокси-сервер для краевых и сервисных приложений, разработанный для облачных приложений. Это проект с хорошей репутацией в CNCF и имеет нативные интеграции с Jaeger для наблюдаемости, Prometheus для метрик и других инструментов.
Цель этой роли — помочь пользователям развертывать и настраивать базовую конфигурацию Envoy Proxy на виртуальных машинах и физических серверах как альтернативу обычным прокси-серверам и балансировщикам нагрузки.
Конфигурации Envoy Proxy НЕ будут включены здесь, так как они имеют дополнительный уровень сложности, который потребует коллекций Ansible или модуля.
Требования
Ansible
- Эта роль разработана и протестирована с версиями Ansible, находящимися в поддерживаемом состоянии. Обратная совместимость не гарантируется.
- Инструкции по установке Ansible можно найти на сайте Ansible.
Molecule
- Для тестирования различных функциональностей роли используется Molecule версии
3.x
. - Инструкции по установке Molecule можно найти на сайте Molecule.
Ansible Galaxy
Используйте команду ansible-galaxy install hugoprudente.envoyproxy
, чтобы установить последнюю стабильную версию роли на вашу систему.
Git
Используйте команду git clone https://github.com/hugoprudente/ansible-role-envoyproxy.git hugoprudente.envoyproxy
в директории roles/, чтобы получить последнюю версию роли с GitHub.
Платформы
Роль Envoy Proxy поддерживает:
Envoy Proxy
Роль Envoy Proxy работает над поддержкой всех платформ, поддерживаемых Envoy Proxy.
На данный момент я протестировал её на:
CentOS:
- 8
Ubuntu:
- focal (20.04)
Debian:
- buster (10)
Переменные роли
Эта роль имеет несколько переменных. Описания и значения по умолчанию для всех этих переменных можно найти в папке defaults/main/
в следующих файлах:
Название | Описание |
---|---|
main.yml |
Переменные установки Envoy Proxy |
systemd.yml |
Переменные установки для systemd |
logrotate.yml |
Переменные установки для logrotate |
cluster.yml |
Переменные установки кластера |
Аналогично, описания и значения для предустановленных переменных можно найти в папке vars/
в следующих файлах:
Название | Описание |
---|---|
main.yml |
Список поддерживаемых платформ и модулей Envoy Proxy |
Примеры плейбуков
Рабочие примеры плейбуков можно найти в папке molecule/
в следующих файлах:
Название | Описание |
---|---|
default/converge.yml |
Установка стандартной версии Envoy Proxy |
container/converge.yml |
Установка контейнерной версии Envoy Proxy |
source/converge.yml |
Установка Envoy Proxy из исходных кодов |
cluster/converge.yml |
Установка кластерной версии Envoy Proxy (Primary/Primary) и (Active/Backup) |
custom/converge.yml |
Установка конкретной версии Envoy Proxy с добавлением log rotate и пользовательским systemd |
Лицензия
Информация об авторе
Role for create and manage Envoy Proxy
ansible-galaxy install hugoprudente/ansible-role-envoyproxy