12.7k star,推荐一款使用工具,轻松管理ansible
AWX:Ansible的基于Web的界面
Ansible是一款流行的开源工具,用于自动化IT任务,如配置管理、应用程序部署、编排等。Ansible使用简单的YAML文件,称为Playbook,来描述系统的期望状态和实现它的动作。Ansible可以在多个主机上运行Playbook,使用SSH或其他协议,无需在远程机器上安装任何代理或额外的软件。
然而,管理Ansible Playbook和资源可能是具有挑战性的,特别是当处理复杂的场景、大规模的环境或多个团队时。你如何轻松地创建、编辑、分享和重用Playbook?你如何监控和排除Playbook执行的问题?你如何安排和自动化Playbook的运行?你如何将Ansible与其他工具和系统集成?
这就是AWX的用武之地。AWX是一个基于Web的用户界面、REST API和任务引擎,用于管理Ansible项目。它是Red Hat Ansible Automation Platform的上游项目之一,后者是一款商业产品,为企业客户提供额外的功能和支持。使用AWX,你可以:
- 创建和管理Ansible资源,如Playbook、Inventory、Credentials、Projects等。你可以使用图形编辑器或代码编辑器来创建和编辑Playbook。你也可以从外部来源导入Playbook,如Git仓库或SCM系统。
- 执行和监控Ansible Playbook在你的主机或主机组上。你可以查看每个Playbook运行的状态、日志和结果。你也可以按照各种标准过滤、搜索和排序数据。你还可以将数据导出为不同的格式,如JSON或CSV。
- 安排和自动化根据你的需要运行Ansible Playbook。你可以设置触发器和依赖关系,根据事件来运行Playbook,如时间、Webhook、Inventory更新等。你还可以使用工作流将多个Playbook链接在一起,并根据每个步骤的结果定义条件路径。
- 集成和扩展AWX与其他工具和系统。你可以使用REST API以编程方式与AWX交互并执行各种操作。你还可以使用通知向外部服务发送警报或消息,如电子邮件、Slack、PagerDuty等。你还可以使用自定义脚本或模块来增强AWX的功能。
AWX是一个由Red Hat赞助的开源社区项目。它托管在GitHub上,并提供文档、安装指南、发布说明和问题跟踪器。AWX采用Apache License 2.0许可。
如何安装使用?
安装awx
# wget https://github.com/ansible/awx/archive/11.2.0.tar.gz
# tar zxf 11.2.0.tar.gz
# cd awx-11.2.0/
生成加密主机清单文件的密钥
# openssl rand -base64 30
nir4yYx6Bb4uN/ow98f2tD9Wktm8A/cwgqTgzHLg
配置主机清单文件 installer/inventory
localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python3"
[all:vars]
dockerhub_base=ansible
docker_compose_dir="~/.awx/awxcompose"
awx_task_hostname=awx
awx_web_hostname=awxweb
host_port=80
host_port_ssl=443
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
postgres_data_dir="~/.awx/pgdocker"
admin_user=admin
admin_password=password
create_preload_data=True
secret_key=nir4yYx6Bb4uN/ow98f2tD9Wktm8A/cwgqTgzHLg
awx_alternate_dns_servers="8.8.8.8,8.8.4.4"
project_data_dir="~/.awx/projects"
执行安装 plyabook
# cd installer
# ansible-playbook -i inventory install.yml
启动后的容器列表:
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
df5f7cb15da0 ansible/awx_task:11.2.0 "tini -- /bin/sh -c …" About a minute ago Up About a minute 8052/tcp awx_task
5b774471f6e3 ansible/awx_web:11.2.0 "tini -- /bin/sh -c …" About a minute ago Up About a minute 0.0.0.0:80->8052/tcp awx_web
ad4c005ac0e9 memcached:alpine "docker-entrypoint.s…" About a minute ago Up About a minute 11211/tcp awx_memcached
f73edd420c15 postgres:10 "docker-entrypoint.s…" About a minute ago Up About a minute 5432/tcp awx_postgres
c006d3e473bd redis "docker-entrypoint.s…" About a minute ago Up About a minute 6379/tcp awx_redis
WEB 界面
访问地址 http://ip
输入用户名和密码登录后,就能看到awx的界面了。
具体如何添加主机、添加项目可以到如下地址查看
https://ansible.leops.cn/ui/awx/
AWX是一个强大的工具,可以帮助你简化和优化你的Ansible项目。它也可以帮助你与你的团队成员协作,并与你现有的工具和系统集成。如果你正在寻找一个基于Web的界面来使用Ansible,你应该试试AWX。
© 版权声明
文章版权归作者所有,未经允许请勿转载。