抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

AWX部署

目录

AWX简介

AWX提供了一个基于web的用户界面、REST API和构建在Ansible之上的任务引擎,其是红帽商业自动化平台ansible tower的上游开源项目。

使用Ansible AWX,可以通过可视化仪表板,基于角色的访问控制,作业计划,集成通知和图形化inventory管理来集中控制IT基础架构。

借助图形化的AWX,能够更方便的编排和部署 Ansible Playbook,并提供集中的日志记录、审计和系统跟踪,通过REST API和CLI轻松将Ansible AWX嵌入现有工具和流程中。

AWX部署

需要说明的是, 官方从18版本开始,推荐使用awx-operator直接将awx部署至kubernetes,而使用docker部署awx至单机的方式只建议用于开发环境。

在18版本之前,推荐使用docker安装awx。

这里以使用docker安装awx-17.1.0为例。

#关闭selinux,并重启
setenforce 0
sed -i 's/=enforcing/=disabled/' /etc/selinux/config

1. 安装docker

# 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

# 配置yum源

wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

# 安装docker
yum install -y docker-ce

# 配置加速器

mkdir -p /etc/docker
cat /etc/docker/daemon.json 
{

"data-root": "/var/lib/docker",

"registry-mirrors": ["https://1kumbvo2.mirror.aliyuncs.com"], 

"bip": "172.17.0.1/16", 

"log-driver": "json-file",

"log-level": "info",

"log-opts": {

   "max-size": "100m",

   "max-file": "10"

   } 

}


# 启动docker
systemctl daemon-reload
systemctl enable docker
systemctl restart docker

2. 安装docker-compose

需要说明的是,在后续安装awx时依赖python3,这里docker-compose的部署也直接使用pip3来安装。

先配置python的虚环境:

yum install -y python3

pip3 install virtualenv

virtualenv --python=/usr/bin/python3 ~/.venv/awx

source ~/.venv/awx/bin/activate

pip3 install docker-compose docker

3. 安装ansible

yum install -y ansible

4. 安装awx

获取awx源码包

wget https://github.com/ansible/awx/archive/refs/tags/17.1.0.tar.gz

tar xf 17.1.0.tar.gz 

cd awx-17.1.0/installer

修改installer/inventory内容如下

# 配置部署awx的主机
localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python3"

# 定义相关变量
[all:vars]

# awx镜像下载的仓库地址
dockerhub_base=ansible
awx_task_hostname=awx
awx_web_hostname=awxweb

# pgsql的数据存储目录
postgres_data_dir="/data/awx/pgdocker"
host_port=80
host_port_ssl=443
docker_compose_dir="/data/awx/awxcompose"

# pgsql的连接帐号
pg_username=awx

# pgsql的连接密码
pg_password=awxpass
pg_database=awx
pg_port=5432

# 管理员帐号
admin_user=admin

# 管理员密码
admin_password=redhat
create_preload_data=True
secret_key=awxsecret

# awx执行项目的存放目录
project_data_dir=/data/awx/projects


# 执行部署
ansible-playbook -i inventory install.yml

访问示例如下:

http://192.168.40.166

http://kionf.com/2018/11/21/tower-useage

https://blog.51cto.com/10616534/2407182

评论