ansible-role-ecs-agent
Ansible Роль для Агента ECS на CentOS
Эта роль позволяет настраивать контейнерный агент ECS на чистых хостах CentOS 7.
Требования
- Ansible 2.2+
- Тестировалось на CentOS 7.4.1708
Переменные Роли
Для получения дополнительной информации смотрите:
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
ecs_agent_loglevel
:ECS_LOGLEVEL
(по умолчанию: info)ecs_agent_cluster_name
:ECS_CLUSTER
(по умолчанию: default)ecs_agent_enable_iam_role
:ECS_ENABLE_TASK_IAM_ROLE
(по умолчанию: true)ecs_agent_enable_task_iam_role_network_host
:ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST
(по умолчанию: true)ecs_agent_reserved_ports
:ECS_RESERVED_PORTS
(по умолчанию: "[22, 2375, 2376, 51678]")ecs_agent_container_stop_timeout
:ECS_CONTAINER_STOP_TIMEOUT
(по умолчанию: 30s)ecs_agent_auth_type
:ECS_ENGINE_AUTH_TYPE
(по умолчанию: "")ecs_agent_auth_data
:ECS_ENGINE_AUTH_DATA
(по умолчанию: "")ecs_agent_data_dir
:ECS_DATADIR
(по умолчанию: "/data")ecs_agent_log_file
:ECS_LOGFILE
(по умолчанию: "/log/ecs_agent.log")
Зависимости
Необходимо установить и запустить Docker.
Смотрите:
Предостережения
Эта роль настраивает агента AWS ECS в соответствии с документацией, включая добавление правил iptables. Однако учтите, что эта роль не будет сохранять правила iptables (с помощью iptables-save
или другими способами). Если вы хотите сохранить правила iptables на диске, чтобы они сохранялись после перезагрузки и не требовали дополнительного выполнения Ansible, вам нужно будет позаботиться об этом вне этой роли.
Пример Плейбука
---
- name: Плейбук AWS ECS Agent
hosts: all
become: yes
vars:
- ecs_agent_cluster_name: MyClusterName
roles:
- ansible-role-ecs-agent
Что улучшить в следующей версии
- Добавить сборку Travis.
- Добавить поддержку драйвера логов. Смотрите: https://github.com/open-guides/og-aws#ecs-tips
- Добавить поддержку параметров очистки:
ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION
Эта переменная указывает время ожидания перед удалением любых контейнеров, которые относятся к остановленным задачам. Процесс очистки изображений не может удалить изображение, пока существует контейнер, который на него ссылается. После того, как изображения больше не ссылаются на контейнеры (остановленные или работающие), они становятся кандидатами на очистку. По умолчанию этот параметр установлен на 3 часа, но вы можете уменьшить его до 1 минуты, если это необходимо для вашего приложения.
ECS_DISABLE_IMAGE_CLEANUP
Если вы установите эту переменную в true, автоматическая очистка изображений будет отключена на вашем экземпляре контейнера, и никакие изображения не будут автоматически удалены.
ECS_IMAGE_CLEANUP_INTERVAL
Эта переменная указывает, как часто процесс автоматической очистки изображений должен проверять изображения для удаления. По умолчанию каждые 30 минут, но вы можете уменьшить этот период до 10 минут для более частого удаления изображений.
ECS_IMAGE_MINIMUM_CLEANUP_AGE
Эта переменная указывает минимальное время между моментом, когда изображение было загружено, и когда оно может стать кандидатом на удаление. Это используется для предотвращения очистки изображений, которые только что были загружены. По умолчанию 1 час.
ECS_NUM_IMAGES_DELETE_PER_CYCLE
Эта переменная указывает, сколько изображений может быть удалено за один цикл очистки. По умолчанию 5, минимально 1.
Лицензия
Лицензировано по лицензии MIT. См. файл LICENSE для подробностей.
ansible-galaxy install bitintheskud/ansible-role-ecs-agent