AnsibleTower的安装与基本功能测试


一、安装

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.102) 输入用户名admin,口令redhat。能够打开登录页面,并且成功登录,3) 初始登录过程需要首先导入license信息。将上述提前申请的license信息导入到Ansible Tower中,点击 SUMMIT。4) 继续登录能看到所有节点基础信息为正常。

  • 访问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地址信息,点击保存。

  • 点击界面中“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用户名及密码。

  • 创建纳管节点的登录信息,点击 首页->齿轮->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。

  • 将已经编写好的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。

  • 点击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章节,执行任务。

  • 点击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里面选中要将哪一个任务定制为计划任务,点击任务右侧的月历图标然后进入到这是计划任务界面,可以选中任务执行的频率是分钟、小时、天、周、月、年在具体时间可以执行相关定时任务。

  • 在Templates里面选中要将哪一个任务定制为计划任务,点击任务右侧的月历图标
  • 然后进入到这是计划任务界面,可以选中任务执行的频率是分钟、小时、天、周、月、年
  • 在具体时间可以执行相关定时任务。

9 工作流任务创建

测试项目

创建Ansible Tower工作流

测试目的

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

测试步骤

在Templates里点击ADD+,选择workflow job template在创建工作流模板中输入名称等基本信息,点击保存。点击“WORKFLOW EDITOR”进入工作流编辑界面,可以针对每个playbook不同执行结果,执行不同的后续playbook,达到工作流操作的过程。点击小火箭,能够成功执行工作流,并且每个playbook执行结果情况能够实时显示,如图所示,20001-yum-reposity正在执行,点击DETAILS可以查看详细执行细节。‐ 蓝色表示单步顺序执行;‐ 绿色表示前端执行成功后顺序执行;‐ 红色表示前端执行失败后顺序执行;‐ 灰色表示当前playbook还未被执行。

  • 在Templates里点击ADD+,选择workflow job template
  • 在创建工作流模板中输入名称等基本信息,点击保存。
  • 点击“WORKFLOW EDITOR”进入工作流编辑界面,可以针对每个playbook不同执行结果,执行不同的后续playbook,达到工作流操作的过程。
  • 点击小火箭,能够成功执行工作流,并且每个playbook执行结果情况能够实时显示,如图所示,20001-yum-reposity正在执行,点击DETAILS可以查看详细执行细节。

‐ 蓝色表示单步顺序执行; ‐ 绿色表示前端执行成功后顺序执行; ‐ 红色表示前端执行失败后顺序执行; ‐ 灰色表示当前playbook还未被执行。

优质内容筛选与推荐>>
1、javascript获取元素的计算样式
2、mysql查询结果添加编号
3、[daily][troubleshoot][archlinux][wps][font] wps文档中的图内容无法显示中文
4、转:manifest的作用
5、Ajax中参数带有html格式的 传入后台保存【二】


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn