Linux安装AWX自动化平台指南
本文详细介绍了在Linux系统上部署AWX自动化平台的四种实战路径:面向通用环境的Docker Compose标准化安装(推荐初学者与中型运维场景)、满足强安全隔离要求的离线部署方案、适配企业级容器基础设施的Kubernetes Operator方式,以及专为CentOS 7老旧系统定制的兼容性部署策略;每种方法均覆盖关键前置条件、版本适配要点、核心配置项(如数据库密码策略、镜像源控制、Python运行时隔离)及典型排错提示,助你避开环境依赖冲突、网络限制与系统兼容性陷阱,高效落地Ansible驱动的可视化自动化平台。

如果您希望在Linux系统上部署AWX自动化平台,但面临环境依赖复杂、版本兼容性差或网络受限等问题,则需依据目标系统特性选择适配的安装路径。以下是多种可落地的安装方法:
一、基于Docker Compose的标准化部署(推荐用于CentOS/Ubuntu 20.04+)
该方法利用AWX官方installer中集成的Docker Compose编排能力,适用于无Kubernetes环境且资源可控的中型运维场景。它将Web服务、任务引擎与PostgreSQL封装为独立容器,配置集中、启动迅速。
1、关闭SELinux并禁用防火墙:执行sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config后重启系统;运行systemctl stop firewalld && systemctl disable firewalld。
2、安装基础依赖:使用yum install -y epel-release ansible docker docker-compose(CentOS)或apt update && apt install -y python3-pip docker.io docker-compose(Ubuntu),确保docker与docker-compose版本匹配,Docker 20.10+ 需搭配 docker-compose v2.10.2 或更高版本。
3、克隆AWX源码并进入installer目录:git clone https://github.com/ansible/awx.git && cd awx/installer;复制示例清单:cp inventory.example inventory。
4、编辑inventory文件,至少设置以下六项:admin_user、admin_password、pg_password、redis_password、secret_key、docker_compose_dir;特别注意pg_password必须符合PostgreSQL密码策略(含大小写字母、数字及特殊字符)。
5、执行安装:ansible-playbook -i inventory install.yml;安装过程持续约12–18分钟,期间会拉取镜像、构建容器、初始化数据库并注册默认凭据。
二、离线环境下的AWX部署(适用于无外网访问的生产内网)
该方案规避网络拉取依赖,通过预下载全部组件实现零外网依赖安装,适用于金融、政务等强隔离网络环境。核心在于提前获取源码包、Python轮子、Docker镜像三类资源。
1、在有网机器上执行离线资源采集:wget https://github.com/ansible/awx/archive/refs/tags/21.3.0.tar.gz(选择稳定tag)、pip3 download -d /data/pip_pkgs/ docker docker-compose requests PyYAML psutil、docker pull quay.io/ansible/awx:21.3.0 && docker save quay.io/ansible/awx:21.3.0 > awx-21.3.0.tar。
2、将/data/pip_pkgs/目录、awx-21.3.0.tar及源码包拷贝至目标主机;运行pip3 install --find-links /data/pip_pkgs/ --no-index --upgrade pip安装Python依赖。
3、加载Docker镜像:docker load ;解压源码并修改installer/inventory中的docker_registry为""(空字符串),禁用远程镜像拉取。
4、在inventory中显式指定本地镜像名:awx_image: "quay.io/ansible/awx:21.3.0";确认docker_compose_dir指向已存在且有写权限的路径,如/opt/awx/docker。
5、执行离线安装命令:ansible-playbook -i inventory install.yml --skip-tags=build_image;跳过build_image标签可强制复用已加载镜像,避免因缺失构建工具报错。
三、Kubernetes集群上的AWX Operator部署(适用于已有K3s/K8s环境)
该方式采用声明式CRD管理AWX实例生命周期,支持高可用、滚动升级与多租户隔离,适合已具备容器编排能力的企业级平台。AWX Operator负责协调Pod、Service、PVC等资源创建与状态同步。
1、确保Kubernetes集群正常运行(K3s或标准K8s均可),并已安装helm与kubectl;验证节点就绪状态:kubectl get nodes -o wide。
2、添加AWX Operator Helm仓库:helm repo add awx-operator https://ansible.github.io/awx-operator/;更新本地索引:helm repo update。
3、创建命名空间:kubectl create namespace awx;安装Operator:helm install awx-operator awx-operator/awx-operator -n awx --create-namespace。
4、准备AWX自定义资源定义文件awx-demo.yaml,其中必须包含spec.postgres_configuration_secret引用,该Secret需预先以base64编码方式注入password字段;未正确配置postgres secret将导致awx-postgres pod反复CrashLoopBackOff。
5、应用AWX实例:kubectl apply -f awx-demo.yaml -n awx;等待所有Pod进入Running状态:kubectl get pods -n awx;提取Web服务地址:kubectl get service awx-service -n awx -o jsonpath='{.spec.ports[0].nodePort}'。
四、CentOS 7专用兼容部署(解决glibc与Python 3.6兼容性问题)
CentOS 7默认Python版本为3.6,而新版AWX要求Python ≥3.8,直接升级系统Python存在风险。本方法通过容器化Ansible运行时与宿主机解耦,保留系统稳定性。
1、安装SCL(Software Collections)源:yum install -y centos-release-scl;启用Python 3.9模块:yum install -y rh-python39;启用环境:source /opt/rh/rh-python39/enable。
2、使用SCL环境安装Ansible:pip3 install ansible==7.6.0;验证:ansible --version输出应显示Python解释器路径含rh-python39。
3、单独部署Docker CE 20.10.24(适配CentOS 7内核):yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo;yum install -y docker-ce-20.10.24-3.el7。
4、配置Docker使用overlay2存储驱动并指定数据根目录:mkdir -p /data/docker;编辑/etc/docker/daemon.json,写入{"storage-driver": "overlay2", "data-root": "/data/docker"};重启Docker。
5、下载AWX 19.5.0源码(该版本明确支持Python 3.6+):wget https://github.com/ansible/awx/archive/19.5.0.tar.gz;解压后进入installer目录,修改inventory中awx_version为"19.5.0";执行安装命令时强制指定Python路径:ANSIBLE_PYTHON_INTERPRETER=/opt/rh/rh-python39/root/usr/bin/python3 ansible-playbook -i inventory install.yml。
今天关于《Linux安装AWX自动化平台指南》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
抖省省历史订单查询方法详解
- 上一篇
- 抖省省历史订单查询方法详解
- 下一篇
- JavaScript迭代器是什么?如何自定义迭代对象
-
- 文章 · linux | 7分钟前 |
- Linux查看登录用户命令:who和w使用教程
- 242浏览 收藏
-
- 文章 · linux | 11分钟前 |
- Linux下查看IP地址的5种方法
- 127浏览 收藏
-
- 文章 · linux | 1小时前 | Linux
- Linux部署Prometheus监控系统教程
- 341浏览 收藏
-
- 文章 · linux | 1小时前 | Linux
- Linux修改文件名技巧与rename命令使用教程
- 201浏览 收藏
-
- 文章 · linux | 1小时前 |
- LinuxPAM认证配置全解析
- 427浏览 收藏
-
- 文章 · linux | 1小时前 |
- Linux下Sar查看CPU利用率定位卡顿点
- 169浏览 收藏
-
- 文章 · linux | 1小时前 |
- Linux下Golang环境配置与GoProxy设置
- 397浏览 收藏
-
- 文章 · linux | 3小时前 | 断点续传 wget命令
- LINUXwget断点续传与批量下载技巧
- 385浏览 收藏
-
- 文章 · linux | 3小时前 |
- Linux流量监控工具推荐指南
- 403浏览 收藏
-
- 文章 · linux | 3小时前 |
- Linux引导修复方法全解析
- 350浏览 收藏
-
- 文章 · linux | 4小时前 |
- Linux下Canal安装配置及MySQL同步指南
- 381浏览 收藏
-
- 文章 · linux | 4小时前 |
- Linux多IP路由配置详解
- 251浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ChatExcel酷表
- ChatExcel酷表是由北京大学团队打造的Excel聊天机器人,用自然语言操控表格,简化数据处理,告别繁琐操作,提升工作效率!适用于学生、上班族及政府人员。
- 4428次使用
-
- Any绘本
- 探索Any绘本(anypicturebook.com/zh),一款开源免费的AI绘本创作工具,基于Google Gemini与Flux AI模型,让您轻松创作个性化绘本。适用于家庭、教育、创作等多种场景,零门槛,高自由度,技术透明,本地可控。
- 4788次使用
-
- 可赞AI
- 可赞AI,AI驱动的办公可视化智能工具,助您轻松实现文本与可视化元素高效转化。无论是智能文档生成、多格式文本解析,还是一键生成专业图表、脑图、知识卡片,可赞AI都能让信息处理更清晰高效。覆盖数据汇报、会议纪要、内容营销等全场景,大幅提升办公效率,降低专业门槛,是您提升工作效率的得力助手。
- 4660次使用
-
- 星月写作
- 星月写作是国内首款聚焦中文网络小说创作的AI辅助工具,解决网文作者从构思到变现的全流程痛点。AI扫榜、专属模板、全链路适配,助力新人快速上手,资深作者效率倍增。
- 6448次使用
-
- MagicLight
- MagicLight.ai是全球首款叙事驱动型AI动画视频创作平台,专注于解决从故事想法到完整动画的全流程痛点。它通过自研AI模型,保障角色、风格、场景高度一致性,让零动画经验者也能高效产出专业级叙事内容。广泛适用于独立创作者、动画工作室、教育机构及企业营销,助您轻松实现创意落地与商业化。
- 5034次使用
-
- 命令行工具:应对Linux服务器安全挑战的利器
- 2023-10-04 501浏览
-
- 如何使用Docker进行容器的水平伸缩和负载均衡
- 2023-11-07 501浏览
-
- linux .profile的作用是什么
- 2024-04-07 501浏览
-
- 如何解决s权限位引发postfix及crontab异常
- 2024-11-21 501浏览
-
- 如何通过脚本自动化Linux上的K8S安装
- 2025-02-17 501浏览

