bitintheskud.ansible-role-ecs-agent

Centos ECS Agent Ansible 角色

该角色允许在普通 CentOS 7 主机上配置 ECS 容器代理。

需求

  • 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 代理剧本
  hosts: all
  become: yes
  vars:
    - ecs_agent_cluster_name: MyClusterName
  roles:
    - ansible-role-ecs-agent

下一版本改进计划

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
许可证
mit
下载
9.8k
拥有者