2021-07-28:ansible UI管理工具awx部署安装
前言
ansible简介
Ansible是一个非常简单的IT自动化平台,使程序和系统更易于部署。Ansible本质上是一个进行了封装的Shell,优点在于它是去中心化的工具,可以直接通过ssh管理远程主机,实现无Agent的部署。
AWX简介
AWX提供了一个基于web的用户界面、REST API和构建在Ansible之上的任务引擎。 图形化的AWX 能够更方便的编排和部署 Ansible Playbook,并提供集中的日志记录、审计和系统跟踪。AWX是商业版Ansible Tower 的开源版本。
awx项目地址:https://github.com/ansible/awx/
关闭防火墙,禁止开机启动:
systemctl stop firewalld.service && systemctl disable firewalld.service
关闭selinux:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0 #临时生效,建议重启服务器
一、ansible安装
系统版本:
1. 安装EPEL源
yum -y install epel-release
2.安装asnible最新版
yum -y install ansible
3.确认ansible版本
ansible --version
4.安装docker及所需依赖包
4.1 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
4.2 设置docker源(阿里源)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.3 查看可安装的docker版本信息
yum makecache fast #刷新yum缓存
yum list docker-ce.x86_64 --showduplicates | sort -r
4.4 安装指定版本的docker服务(本次已安装3:20.10.6-3.el7为例)
yum install -y docker-ce-20.10.6-3.el7 docker-ce-cli-20.10.6 containerd.io.x86_64
4.5 启动docker服务,设置开机启动
systemctl start docker && systemctl enable docker
4.6 配置docker镜像加速
创建/etc/docker/目录,并编辑daemon.json文件:
mkdir -p /etc/docker && vi /etc/docker/daemon.json
填写以下内容,并保存退出:
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
4.7 重启docker 服务,并验证:
systemctl daemon-reload && systemctl restart docker
docker info #此步骤非必须
5.安装Python模块
5.1安装pip3
yum -y install python3-pip
5.2 安装 docker-compose 的Python模块
python3 -m pip install --upgrade pip #关键步骤,否则会报错
pip3 install docker-compose
5.3 安装docker-compose ,并验证版本:
~~yum install -y docker-compose~~
docker-compose --version #此步骤非必须
5.4 下载AWX,并解压:
wget -c https://github.com/ansible/awx/archive/refs/tags/17.1.0.zip
yum install -y unzip.x86_64
unzip 17.1.0.zip
5.5 修改hosts、inventory配置文件:
vim /etc/hosts #此步骤很关键,不然会报错
#在文本最下面添加awx所在服务器IP及主机名
cd /root/awx-17.1.0/installer/
vim inventory
本文只将#admin_password=password,修改为admin_password=admin,其他内容根据实际需求修改,比如自定义数据库、用户等。
5.6 部署awx-17.1.0
cd /root/awx-17.1.0/installer/
ansible-playbook -i inventory install.yml -vv
5.7 验证awx是否部署成功
docker ps -a
有如下输出即表示成功部署:
5.8 浏览器访问awx
在浏览器输入awx所在服务器IP ,用户名和密码均为admin