微信号:david-share

介绍:乐于分享,才有进步.

Ansible Tower的安装与基本功能测试

2018-04-08 11:37 黑建龙

一、安装


1.创建本地repo源

将导入的rhel-7-server-rpms和rhel-7-server-extras-rpms两个文件夹拷贝到AnsibleTower目标服务器上,安装启动httpd并创建本地repo源。由于Ansible Tower自身占用80和8080端口,因此在创建Apache(httpd)服务器时,将端口改为8090。

#  cat /etc/yum.repos.d/local.repo

[rhel]

name=rhel

baseurl=http://172.20.16.227:8090/rhel/

gpgcheck=0

enable=1

 

[rhel-extra]

name=rhel-extra

baseurl=http://  172.20.16.227:8090/rhel-extra/

gpgcheck=0

enable=1

2.    安装Ansible软件包

Ansible Tower程序由Ansible自身推送,因此需要首先安装Ansible RPM包。Ansible RPM存在于rhel-7-server-extras-rpms repo中,直接执行安装即可。

#  yum install -y ansible

Loaded  plugins: product-id, search-disabled-repos, subscription-manager

This  system is not registered to Red Hat Subscription Management. You can use  subscription-manager to register.

Resolving  Dependencies

-->  Running transaction check

--->  Package ansible.noarch 0:2.3.1.0-3.el7 will be installed

-->  Processing Dependency: PyYAML

......

  python2-cryptography.x86_64  0:1.7.2-1.el7         python2-pyasn1.noarch 0:0.1.9-7.el7           sshpass.x86_64 0:1.06-2.el7                                     

Complete!

3.安装Ansible Tower

解压ansible-tower-setup-bundle-latest.el7.tar.gz,修改目录中inventory文件,由于Tower将安装到本地,因此只需要修改相关password信息,其他均无需做额外更改。

#  cat inventory

[tower]

localhost  ansible_connection=local

 

[database]

 

[all:vars]

admin_password='redhat'

 

pg_host=''

pg_port=''

 

pg_database='awx'

pg_username='awx'

pg_password='redhat'

 

rabbitmq_port=5672

rabbitmq_vhost=tower

rabbitmq_username=tower

rabbitmq_password='redhat'

rabbitmq_cookie=cookiemonster

 

#  Needs to be true for fqdns and ip addresses

rabbitmq_use_long_name=false


  • 执行ansible-tower-setup-bundle-3.1.4-1.el7目录中setup.sh脚本信息完成Ansible Tower安装

#  ./setup

......

Complete!

 

  • 完成安装后可访问主页:(本截图为后续测试页面,与真实测试场景中IP等信息存在误差,请修改IP至Ansible Tower所在服务器地址,下同)

Ansible Tower:192.168.10.10

Host1: 192.168.10.11

Host2: 192.168.10.12


二、基本功能测试


1. Ansible Tower安装

测试项目

Ansible  Tower安装测试

测试目的

测试Ansible  Tower软件能否被正确安装部署

测试步骤

  • 访问Ansible  Tower节点https://192.168.10.10

2)    输入用户名admin,口令redhat。能够打开登录页面,并且成功登录,

3)    初始登录过程需要首先导入license信息。将上述提前申请的license信息导入到Ansible Tower中,点击 SUMMIT。

4)    继续登录能看到所有节点基础信息为正常。

 

 

 

2     导入主机列表

Ansible Tower中主机列表(Inventory)包括hosts,groups等信息,支持多种方式写入(导入)主机列表,Inventory文件里面的Variables可以用YAML或者JSON格式,可以定义Ansible的变量,用户信息,连接信息等。

  • 可以在Ansible Tower界面inventories页面中定义主机列表。

  • 可以通过github,SVN等同步Inventory文件。

  • 可以创建组的时候可以使用Source Control从远程同步,支持以下源:

  • Rackspace CloudServers

  • Amazon Web ServicesEC2

  • Google Compute Engine

  • Microsoft AzureResource Manager

  • vCenter

  • Red Hat Satellite 6

  • Red Hat CloudForms

  • OpenStack

 

本次测试采用第一种输入方式定义主机列表。

测试项目

主机列表导入Ansible Tower

测试目的

将纳管主机的列表导入Ansible Tower,完成主机纳管

测试步骤

  • 点击界面中“INVENTORIES”页面,点击“+ADD”

  • 出现“NEW  INVENTORY界面”,为这一组纳管机器输入一个名字“Linux”,在“ORGANIZATION”处选择default(由于是测试版本,只能使用一个default组织且不能增加及改变),点击“SAVE”

  • 为这组新定义的纳管节点可以定义不同的组“GROUP”,每个组增加不同的“HOST”。组是逻辑概念,跟业务相关系,每个host根据逻辑的不同,可以在不同的组中;同时组可以嵌套,每个组中可以继续包含不同的组。

  • 首先“ADD  GROUP”,输入test1,点击“SAVE”。新创建的组能够被正确创建。

  •           在test1组中,创建两个新的纳管节点,在右侧HOSTS标签中点击“ADD HOST”,输入两个节点IP地址信息,点击保存。


3     创建信任证书

测试项目

创建信任证书

测试目的

测试在Ansible Tower界面可以创建信任证书,具有用户权限管控功能等。

测试步骤

  • 创建纳管节点的登录信息,点击 首页->齿轮->Credential页面

  • 输入 test_credential名字,TYPE与Inventory一样,支持多种方式输入信息,这里选择 Machine,手工创建,输入username:john和password信息。

  • 默认Ansible  Tower不推荐使用root用户,如要使用root权限,可在privilege escalation标签中额外申请sudo权限,同时输入root用户名及密码。

4.     导入Playbook

测试项目

将编写好的Playbook导入Ansible Tower

测试目的

测试Playbook可以被导入Ansible Tower

测试步骤

  • 将已经编写好的Ansible Playbook 拷贝到Ansible Tower服务器的/var/lib/awx/projects下,每个任务单独创建目录。

  • 然后在Tower界面创建Project,导入Playbook。

5     创建项目

Projects是一个管理Ansible Playbook的平台,支持以下多种方式创建项目。

  • 可以手动添加Playbook

  • 可以试用SourceControl来同步Playbook,目前支持github、Mercurial和Subversion。

在创建Project前,要确保完成10.1.4章节,项目的playbook已经拷贝到Ansible Tower /var/lib/awx/projects/下,AnsibleTower默认将项目的playbook存放在此,而且每个项目要创建一个目录,每个项目下可以有多个playbook。

测试项目

创建项目

测试目的

测试在Ansible Tower界面可以创建项目

测试步骤

  • 点击Projects标签,创建项目。

  • 输入项目的name

  • 在SCM  TYPE中支持多种方式,本次测试通过手工方式导入playbook,在这里选择Manual。


6     创建任务模板

Job Template是一个具体任务的模板,通过填写Inventory,Project,Playbook,Machine Credentials, Forks等将一个任务实例化。

在执行本次任务前,确保完成10.1.2到10.1.5章节的内容。

测试项目

创建任务模板

测试目的

测试在Ansible Tower界面可以创建任务模板

测试步骤

  • 点击Template标签,点击ADD->job template

  • 填入具体细节信息,在不确定情况下,可以点击  放大镜 按钮,选取相关信息。

  • 在选定projects后,导入到/var/lib/awx/projects/中相关的yml文件会在playbook对话框中出现。请注意确保yml文件符合格式,否则此yml文件不会出现在对话框中。

  • 点击  SAVE 按钮保存此任务模板。

  • 继续测试10.1.7章节,执行任务。

7     执行任务

Jobs中记录了所有执行过的任务,便于审计和查看之前执行的任务状态。需要完成10.1.6章节的创建任务模板。

测试项目

执行任务

测试目的

测试在Ansible Tower界面可以使用之前定义的任务模板执行任务

测试步骤

  • 在任务模板中可以看到创建的每一个模板,点击模板右侧的  小火箭 按钮,开始执行相关任务。

  • 页面会转到相关执行页面,可以查看每个任务具体执行情况,结果返回等具体信息。

  • 在任务具体信息里面可以点击每一项,查看具体返回值信息。

  • 在返回值信息中,能够区分在此次任务执行过程中是否导致目标纳管机器发生变化,绿色表示无变化,黄色表示此次执行与上次执行有变化。

8     创建计划任务

Ansible Tower不仅支持运行实时任务,还支持计划任务,可以将已经创建好的任务定义为周期性的任务。

需要完成10.1.6创建任务模板章节。

测试项目

创建计划任务

测试目的

测试在Ansible Tower界面可以创建计划任务

测试步骤

  • 在Templates里面选中要将哪一个任务定制为计划任务,点击任务右侧的月历图标

  • 然后进入到这是计划任务界面,可以选中任务执行的频率是分钟、小时、天、周、月、年

  • 在具体时间可以执行相关定时任务。


9     工作流任务创建

测试项目

创建Ansible Tower工作流

测试目的

测试在Ansible Tower界面可以创建工作流,需要有正式企业级License,普通试用License没有此功能。

测试步骤

  • 在Templates里点击ADD+,选择workflow job template

  • 在创建工作流模板中输入名称等基本信息,点击保存。

  • 点击“WORKFLOW  EDITOR”进入工作流编辑界面,可以针对每个playbook不同执行结果,执行不同的后续playbook,达到工作流操作的过程。

  • 点击小火箭,能够成功执行工作流,并且每个playbook执行结果情况能够实时显示,如图所示,20001-yum-reposity正在执行,点击DETAILS可以查看详细执行细节。

  蓝色表示单步顺序执行;

  绿色表示前端执行成功后顺序执行;

  红色表示前端执行失败后顺序执行;

  灰色表示当前playbook还未被执行。

 

 

大魏分享:

魏新宇

"大魏分享"运营者、红帽资深解决方案架构师

专注开源云计算、容器及自动化运维在金融行业的推广

拥有红帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、ITIL V3、Cobit5、C-STAR、AIX、HPUX等相关认证。



 
大卫分享 更多文章 容器编排界的“三皇会战”,Kubernetes的奥斯特里茨! Ansible配置管理vCenter及相关虚拟机 [免费分享] Openshift开发指南中文版 大魏的思考:从纯技术角度看数字化转型 带着多项新功能,Openshift3.9重磅发布!
猜您喜欢 如何招到一个靠谱的程序员 通用资源的fail-over&fail-fast讨论(周二下午6:00) Android Gradle 构建系统·初探 程序员面试中,这5点低级错误不要犯 Android 轮播图从 0 到 1