Ansible Tower - 创建第一个Job
在前面介绍过Tower的Job是ansible中playbook的一次执行,也是Tower中Job template的一次的执行。
思路
我们先来屡屡思路,然后再上图来说明创建第一个Job的具体过程。
在ansible中,第一次执行playbook,我们需要做什么准备工作呢。
- 首先确定要管理的远程主机
- 即编辑inventory
- 配置连接远程主机的SSH连接
- ssh-genkey && ssh-copy-id
- 编写或者下载playbook的脚本
- 执行命令
ansible-playbook helloword.yml
在tower中创建第一次Job也是类似的:
- 确定要管理的远程主机
- 对应tower菜单栏的inventory页面创建一个新的inventory
- 配置连接远程主机的SSH连接
- 在tower的setting页面创建一个CREDENTIAL
- 编写或者下载playbook的脚本
- tower中project对应playbook的文件或者git/svn repo
- 创建一个新的project,包含执行playbook的文件或者git/svn repo地址
- 把需要执行一次playbook的信息组合起来
- 创建JOB TEMPLATE,指定inventory, inventory, project,以及选择project下哪个playbook
- 点击创建JOB TEMPLATE的执行按钮,就会自动跳转到JOB页面的下面看到实时的值ixng结果
示例
我们配合截图来说明创建第一个JOB的过程,为了尽量简化配置,我们把需要管理的远程主机就设定为tower当前所在的机器。
第一步:创建inventory
在这里只需要为inventory添加一个主机记录,就是当前tower所在的主机,即localhost。
点击菜单栏里的INVENTORIES
在inventories页面,点加按钮加号“+ADD”来添加一个新的inventory
给新的inventory起名字后,点击保存按钮“SAVE”
保存后会跳转到下一页,如下图,点击添加主机按钮“+ADD HOST”来添加新的主机
给主机命名,然后添加连接的变量。
ansible默认的连接方式是ssh,如果用ssh不需要添加参数。连接本机是不走ssh协议的,所以需要添加一个ansible_connection变量来告诉ansible不要用ssh,而是用local的方式直接控制本地。更多的非ssh的连接方式可以参考官方文档中的 ansible_connection参数说明
到这里需要管理本机inventory已经创建好了。
第二步:创建CREDENTIAL
CREDENTIAL是用来登陆告诉Tower怎么来登陆或者连接远程的目标主机的,因为使用的是本地,不存在登陆授权的问题,所以只需要创建一个空的CREDENTIAL就可以了。
CREDENTIAL在SETTING页面的,点击右上角齿轮按钮,再选择CREDENTIAL
在CREDENTIAL页面,点击添加按钮“+ADD”来添加一个Credential
给Credential起名字,选择类型后点击保存按钮“SAVE”
需要SSH连接的,在Credential的类型中都选MACHINE,本机连接不需要也选择MACHINE,不填写任何的SSH连接参数就可以了。更多的Credential的类型请参考官网的Credential Type定义
第三步: 创建PROJECT
Playbook保存在git或者svn这样的SCM的Repo上,这样无论是历史记录的保存,还是更新都很方便,所以一般也都是放在SCM的Repo中。
如果要是将Playbook放在私有的SCM中,还需要为SCM配置Credential,为了简化Demo中PROJECT步骤,我们将Playbook放置在Github上,无需特别的权限就可以访问Playbok代码。这样在PROJECT中只需要配置GIT的地址就可以了。
点击左上角的菜单栏中的“PROJECT”
在Projects网页中,点击添加按钮“+ADD”来添加一个Project
命名Project,选择SCM Type和SOURCE DETAILS,然后点击保存按钮“SAVE”
第四步:创建JOB TEMPLATE
现在我们把所有的信息整合起来,创建一个Job Template来告诉Tower如何运行Playbook
点击左上角的菜单栏中的“JOB PROJECT”
在Job Templates页面上,点加添加按钮“+ADD”来添加一个Job Template
命名Job Templates
INVENTORY和PROJECT会立即添加进来,因为目前为止你的Tower中只有唯一的INVENTORY和PROJECT。
选择JOB TYPE,选择运行的PLAYBOOK文件,然后点击保存按钮“SAVE”
到这里为止JOB Template已经创建好了。
保存JOB TEMPLATE后,向下滚动,找到你刚创建的JOB TEMPLATE,点击小飞机按钮来执行。
蹦蹦蹦蹦,就自动跳转到JOBS页面下面实时看到结果啦。