Linux安装AWX自动化平台指南
时间:2026-04-29 11:41:36 134浏览 收藏
本文详细介绍了在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学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
242 收藏
-
127 收藏
-
341 收藏
-
201 收藏
-
427 收藏
-
169 收藏
-
397 收藏
-
385 收藏
-
403 收藏
-
350 收藏
-
381 收藏
-
251 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习