bitintheskud.ansible-role-ecs-agent
Rol de Ansible para el Agente ECS de CentOS
Este rol permite la configuración del agente de contenedor ECS en hosts de CentOS 7 puro.
Requisitos
- Ansible 2.2+
- Probado en CentOS 7.4.1708
Variables del Rol
Para más información, consulta:
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
ecs_agent_loglevel
:ECS_LOGLEVEL
(Predeterminado: info)ecs_agent_cluster_name
:ECS_CLUSTER
(Predeterminado: default)ecs_agent_enable_iam_role
:ECS_ENABLE_TASK_IAM_ROLE
(Predeterminado: true)ecs_agent_enable_task_iam_role_network_host
:ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST
(Predeterminado: true)ecs_agent_reserved_ports
:ECS_RESERVED_PORTS
(Predeterminado: "[22, 2375, 2376, 51678]")ecs_agent_container_stop_timeout
:ECS_CONTAINER_STOP_TIMEOUT
(Predeterminado: 30s)ecs_agent_auth_type
:ECS_ENGINE_AUTH_TYPE
(Predeterminado: "")ecs_agent_auth_data
:ECS_ENGINE_AUTH_DATA
(Predeterminado: "")ecs_agent_data_dir
:ECS_DATADIR
(Predeterminado: "/data")ecs_agent_log_file
:ECS_LOGFILE
(Predeterminado: "/log/ecs_agent.log")
Dependencias
Docker debe estar instalado y en funcionamiento.
Consulta:
Advertencias
Este rol configura el agente AWS ECS según lo recomendado en la documentación, incluyendo la adición de reglas de iptables. Sin embargo, ten en cuenta que este rol no manejará el guardado de las reglas de iptables por ti (a través de iptables-save
u otros medios). Si deseas guardar las reglas de iptables en el disco para que sobrevivan a un reinicio y estén presentes sin una ejecución adicional de Ansible, deberás hacerlo fuera de este rol.
Ejemplo de Playbook
---
- name: Playbook del Agente AWS ECS
hosts: all
become: yes
vars:
- ecs_agent_cluster_name: MiNombreDeCluster
roles:
- ansible-role-ecs-agent
Mejoras para la próxima versión
- Agregar construcción en Travis.
- Añadir soporte para el controlador de registros. Consulta: https://github.com/open-guides/og-aws#ecs-tips
- Añadir soporte para opciones de limpieza:
ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION Esta variable especifica el tiempo a esperar antes de eliminar cualquier contenedor que pertenezca a tareas detenidas. El proceso de limpieza de imágenes no puede eliminar una imagen mientras haya un contenedor que la haga referencia. Después de que las imágenes no sean referenciadas por contenedores (ya sea detenidos o en ejecución), entonces la imagen se convierte en candidata para la limpieza. Por defecto, este parámetro está configurado en 3 horas, pero puedes reducir este período a tan solo 1 minuto, si lo necesitas para tu aplicación.
ECS_DISABLE_IMAGE_CLEANUP Si configuras esta variable en true, la limpieza automática de imágenes se desactiva en tu instancia de contenedor y no se eliminan automáticamente imágenes.
ECS_IMAGE_CLEANUP_INTERVAL Esta variable especifica qué frecuencia debe tener el proceso automatizado de limpieza de imágenes para verificar imágenes a eliminar. La predeterminada es cada 30 minutos, pero puedes reducir este período a tan solo 10 minutos para eliminar imágenes con más frecuencia.
ECS_IMAGE_MINIMUM_CLEANUP_AGE Esta variable especifica el tiempo mínimo entre cuando una imagen fue descargada y cuando puede convertirse en candidata para eliminación. Se utiliza para evitar la limpieza de imágenes que acaban de ser descargadas. La predeterminada es de 1 hora.
ECS_NUM_IMAGES_DELETE_PER_CYCLE Esta variable especifica cuántas imágenes pueden ser eliminadas durante un solo ciclo de limpieza. La predeterminada es 5 y el mínimo es 1.
Licencia
Licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
Deploy AWS ECS Agent on CentOS 7
ansible-galaxy install bitintheskud.ansible-role-ecs-agent