第231011期 – AWX

第231011期 - AWX

12.7k star,推荐一款使用工具,轻松管理ansible

第231011期 - AWX

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许可。

第231011期 - AWX

如何安装使用?

安装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

第231011期 - AWX

输入用户名和密码登录后,就能看到awx的界面了。

第231011期 - AWX

具体如何添加主机、添加项目可以到如下地址查看
https://ansible.leops.cn/ui/awx/

AWX是一个强大的工具,可以帮助你简化和优化你的Ansible项目。它也可以帮助你与你的团队成员协作,并与你现有的工具和系统集成。如果你正在寻找一个基于Web的界面来使用Ansible,你应该试试AWX。


© 版权声明

相关文章