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/releases
二、ansible安装
1.安装EPEL源
[root@client ~]# yum -y install epel-release
2.安装asnible
[root@client ~]# yum -y install ansible

查看ansible版本、默认为最新版
[root@client ~]# ansible --version
ansible 2.9.13
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)]
三、安装docker
1.安装docker
[root@client yum.repos.d]# curl -fsSL https://get.docker.com/ | sh
# Executing docker install script, commit: 26ff363bcf3b3f5a00498ac43694bf1c7d9ce16c
+ sh -c 'yum install -y -q yum-utils'
+ sh -c 'yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo'
添加仓库自:https://download.docker.com/linux/centos/docker-ce.repo
+ '[' stable '!=' stable ']'
+ sh -c 'yum makecache'
CentOS-8 - Base - mirrors.aliyun.com 126 kB/s | 3.9 kB 00:00
CentOS-8 - Extras - mirrors.aliyun.com 50 kB/s | 1.5 kB 00:00
CentOS-8 - AppStream - mirrors.aliyun.com 134 kB/s | 4.3 kB 00:00
Docker CE Stable - x86_64 12 kB/s | 25 kB 00:02
Extra Packages for Enterprise Linux Modular 8 - x86_64 2.8 kB/s | 7.6 kB 00:02
Extra Packages for Enterprise Linux 8 - x86_64 3.7 kB/s | 7.7 kB 00:02
元数据缓存已建立。
+ '[' -n '' ']'
+ sh -c 'yum install -y -q docker-ce'
2.安装docker报错提示containerd.io过低,需要升级containerd.io
错误:
问题: package docker-ce-3:19.03.13-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
- cannot install the best candidate for the job
- package containerd.io-1.2.10-3.2.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.13-3.1.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.13-3.2.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.2-3.3.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.2-3.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.4-3.1.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.5-3.1.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.2.6-3.3.el7.x86_64 is filtered out by modular filtering
- package containerd.io-1.3.7-3.1.el7.x86_64 is filtered out by modular filtering
3.解决办法
[root@client ~]# wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
[root@client ~]# yum install -y containerd.io-1.2.6-3.3.el7.x86_64.rpm
[root@client ~]# curl -fsSL https://get.docker.com/ | sh
4.查看docker版本
[root@client ~]# docker --version
Docker version 19.03.13, build 4484c46d9d
4.1 配置镜像加速器
[root@client ~]# mkdir -p /etc/docker
[root@client ~]# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://v16stybc.mirror.aliyuncs.com"]
}
EOF
[root@client ~]# systemctl daemon-reload && systemctl restart docker
5.安装 docker-compose 的Python模块
[root@client ~]# pip3 install docker-compose

由于网络原因,安装过程中可能会失败,多试两次即可。
6.或者使用下载二进制文件
[root@client ~]# curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
[root@client ~]# chmod +x /usr/local/bin/docker-compose
7.安装验证
[root@client yum.repos.d]# docker-compose --version
docker-compose version 1.27.3, build unknown
四、安装awx项目
1.下载awx包并解压
[root@client ~]# wget https://github.com/ansible/awx/archive/14.1.0.tar.gz
[root@client ~]# cd awx-14.1.0/installer/
[root@client installer]# ls
build.yml install.yml inventory role
2.查看python3的工作路径并修改inventory文件
[root@client installer]# which python3
/usr/bin/python3
[root@client installer]# sed -i.bak 's/env python/python/g' inventory
[root@client installer]# ll
总用量 24
-rw-rw-r--. 1 root root 166 8月 25 12:12 build.yml
-rw-rw-r--. 1 root root 437 8月 25 12:12 install.yml
-rw-rw-r--. 1 root root 7340 9月 21 02:03 inventory
-rw-rw-r--. 1 root root 7344 8月 25 12:12 inventory.bak
drwxrwxr-x. 7 root root 99 8月 25 12:12 roles
3.下载镜像
[root@client installer]# docker pull redis:latest
[root@client installer]# docker pull postgres:10
[root@client installer]# docker pull ansible/awx:14.1.0
[root@client ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
postgres 10 7849072676e1 3 days ago 200MB
redis latest 84c5f6e03bf0 10 days ago 104MB
ansible/awx 14.1.0 8a29b4e35f5f 3 weeks ago 1.3GB
[root@client installer]# ansible-playbook -i inventory install.yml

4.容器查看
[root@client installer]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3ccad7afb02 ansible/awx:14.1.0 "/usr/bin/tini -- /u…" 52 minutes ago Up 19 minutes 8052/tcp awx_task
64989076d24a ansible/awx:14.1.0 "/usr/bin/tini -- /b…" 52 minutes ago Up 19 minutes 0.0.0.0:80->8052/tcp awx_web
c4a3e5c4b507 postgres:10 "docker-entrypoint.s…" 52 minutes ago Up 19 minutes 5432/tcp awx_postgres
0dec66f07a43 redis "docker-entrypoint.s…" 52 minutes ago Up 19 minutes 6379/tcp awx_redis
五、登录awx
登陆地址: http://192.168.0.200
账号:admin
密码:password

1.新增清单

2.清单名称为实验区

3.创建主机

4.分别新增被管主机192.168.0.153,指定登录用户和密码

5.主机新增完毕
6.执行命令
参数为:cat /etc/passwd
注docker相关rpm包下载地址
https://download.docker.com/linux/centos/7/x86_64/edge/Packages/

ansible的rpm下载地址
http://rpmfind.net/linux/RPM/epel/8/x86_64/Packages/a/

智能推荐
Ansible实践篇(四):Ansible PlayBook应用
Ansible实践篇(四):Ansible PlayBook应用 Ansible实践篇(四):Ansible PlayBook应用 一、PlayBook的作用 二、PlayBook组成及参数详解 1、PlayBook组件包括 2、target常用参数详解 3、variable常用参数详解 4、task常用参数详解 三、YAML语言特性 四、Ansible PlayBook示例 (1)判断是否需要安...
CSS3边框和圆角 学习打卡
课程介绍 1、CSS3圆角 2、CSS3盒阴影 3、CSS3边界图片 CSS3圆角 1、border-radius:一个最多可以指定四个border-*-radius属性的复合属性,为元素添加圆角边框 2、语法:border-radius:1-4 length|%/1-4 length|% 3、兼容:IE9+ firefox4+ chrome safari5+ opera CSS3指定每一个圆角 ...
(Java)反射的应用 - 取得类的结构
文章目录 一、基本概念 二、取得所实现的全部接口 三、取得父类 四、取得全部构造方法 五、取得全部方法 六、取得全部属性 一、基本概念 在反射机制中,还可以通过反射得到一个类的完整结构,这就需要使用 java.lang.reflect 包中的以下几个类: 这三个类都是 AccessibleObject 类的子类: 二、取得所实现的全部接口 要取得一个类所实现的全部接口,必须使用 Class 类中的...
ORM-外键关联基本使用
外键 在Mysql中,外键可以让表之间关系变得更加紧密, 在SQlAlchemy中, 通过ForeignKey类来实现,并且可以指定表的外键约束 FroeignKey的导入 在从表中条件一个模型类.字段(属性)即可 外键关联的代码和示例图 图说明 外键约束的删除 如果删除了主表中的数据, 从表的数据会怎么样? 需要设置 "RESTRICT" : 主表数据被删除, 会阻止删除 &...
猜你喜欢
Linux操作心得(1)
Ubuntu 16.04 (1)今天遇到一个蜜汁尴尬的情况,一本书上的示例,要求我建一个文件夹及子文件夹,然而明明创建的文件却没有显示 按书上此时应该出现一个文件夹,但并没有: 但可以进入,作为小白看不懂,后来发现是因为/XX指的是将文件建立在根目录了,因此不管怎样,就算用ls,或ll命令都查不到的,此时正确方法应该是去掉/backup前的/,如图就解决了文件夹的创建过程,还有一种傻瓜式方法就是直...
如何写出优美的 JavaScript 代码?
作者:尹锋 链接:https://www.zhihu.com/question/20635785/answer/223515216 1,避免使用 js 糟粕和鸡肋 这些年来,随着 HTML5 和 Node.js 的发展,JavaScript 在各个领域遍地开花,已经从“世界上最被误解的语言”变成了“世界上最流行的语言”。但是由于历史原因,JavaSc...
07-zookeeper的watcher机制原理
zookeeper的watcher机制原理 Watcher 的基本流程 zookeeper的watcher机制,总的来说可以分为三个过程: 客户端注册Watcher。 服务器处理Watcher。 客户端回调Watcher。 客户端注册 watcher有3种方式,getData、exists、getChildren。以如下代码为例,来分析整个触发机制的原理 基于zkclient客户端发起一个数据操作...
Linux搭建Nexus私服
Nexus是什么 Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。简单来说,它就是我们自己维护管理的maven仓库,仅限本人或公司内部使用,他人...
【Elastic Stack上】Elastic Search快速入门,让你对ELK日志架构不再困惑
课程介绍 Elastic Stack简介 Elasticsearch的介绍与安装 Elasticsearch的快速入门 Elasticsearch的核心讲解中文分词 全文搜索 Elasticsearch集群 Java客户端讲解 1、Elastic Stack简介 如果你没有听说过Elastic Stack,那你一定听说过ELK,实际上ELK是三款软件的简称,分别是Elasticsearch、Log...
