ansible UI管理工具awx安装实践

标签: docker  linux

一、简介

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/
在这里插入图片描述

版权声明:本文为qq_41417660原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41417660/article/details/108707827

智能推荐

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" : 主表数据被删除, 会阻止删除 &...

放大镜效果

首先先写html样式 接下来是css部分 js部分 效果图...

猜你喜欢

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...