尝试使用Exastro IT Automation的三种Ansible模式(③Ansible-Pioneer部分)
相关链接 (Guanlian lianjie)
-
- Ansibleモード共通設定、① Ansible-Legacy編
-
- ② Ansible-LegacyRole編
③ Ansible-Pioneer編(現在の記事)
首先,前面的文章中,已经对Exastro IT Automation(以下简称ITA)中的两种Ansible 3模式(Ansible-Legacy和Ansible-LegacyRole)进行了说明。
我想要解釋一下,這次我們談論的是三種模式之一的Ansible-Pioneer。
我們將繼續參考Ansible實作指南。
##工作环境
-
- Exastro IT Automation 1.5.0
-
- CentOS Linux 7(ITAサーバ)
-
- CentOS Linux 7(targetサーバ)
-
- Windows 10(ITAクライアント)
- Google Chrome(Win10側)
Ansible-Pioneer是ITA的独特模块。当创建对话文件后,可以使用Pioneer模块从执行Playbook直接按顺序执行对话文件。
如果使用任何Ansible模块都无法实现自动化,那么一旦插入手动操作,自动化的优势将减少一半。因此,Ansible-Pioneer成为了不停止自动化的最后一招。只要能够通过Telnet和SSH登录,就可以支持各种设备。通过这种方式,可以实现更加灵活的自动化。
有关Ansible-Pioneer的详细信息,请参考Ansible-Driver社区网站的座学教程。
本次使用Ansible-Pioneer編,使用Pioneer独有模块,在目标主机的/tmp/hosts中进行主机追加操作。
具体步骤如下所示。
-
- 预先准备
-
- 设置Movement
-
- 设置操作
-
- 分配值管理(创建参数表)
- 执行操作
#1. 事前准备
本次使用以下对话文件。
有关格式和模块的详细信息可参考手册。
conf:
timeout: 20
exec_list:
- expect: 'password'
exec: '{{ __loginpassword__ }}'
#“register”を用い、‘cat /tmp/hosts’ の標準出力を登録
- command: 'cat /tmp/hosts'
prompt: root@{{ __loginhostname__ }}
register: result_stdout
when:
- VAR_hosts_ip is define
- VAR_hosts_name is define
- command: 'echo {{ item.0 }} {{ item.1 }} >> /tmp/hosts'
prompt: 'root@{{ __loginhostname__ }}'
when:
- VAR_hosts_ip is define
- VAR_hosts_name is define
#“with_items”を用いた繰り返し処理を定義
with_items:
- '{{ VAR_hosts_ip }}'
- '{{ VAR_hosts_name }}'
#“exec_when”を用いた分岐処理を定義
#判定は繰り返しごとに行われる
exec_when:
- result_stdout no match({{ item.0 }} *{{ item.1 }})
#登録された出力中に指定文字列が存在しないときに処理を行う
##2.设置Movement
在这里,我们将讨论与角色相关联的Movement的设置。
###创建Movement
选择「Ansible-Pioneer」菜单组 >> 「Movement一览」,
从注册操作按钮开始进行注册操作。
必须填写的项目是”运动名”和”主机指定格式”。
※运动:使用建设工具对各个机器进行建设、设置等操作的单位
本次设定如下所示的表格。
只需要一种选项,以下是用中文对其进行了改写:
①请填写必填项目
②填写完成后,请点击[注册]按钮
根据目标主机的操作系统,Pioneer可以选择相应的代码进行投放,以创建OS类型主控。
选择「Ansible-Pioneer」菜单组,然后点击注册操作按钮开始注册操作。
由于此次的目标主机是CentOS 7服务器,因此需要进行以下设置。
只需要一个选项:
1. 请填写必填项
2. 填写完后,请点击[注册]按钮
添加到机器清单信息
将刚刚注册的操作系统类型与目标机器关联起来。
选择「基本控制台」菜单组>>选择「设备列表」。
点击[过滤器]按钮,点击目标设备(target)的[更新]按钮。
接下来,根据下表进行选择和设置。
①请填写必需的项目。
②填写完毕后,请点击[更新]按钮。
创建对话类型
选择「Ansible-Pioneer」菜单组,然后点击注册操作按钮开始进行注册操作。
接下来按照下表进行选择和设置。
请填写必填项目。
填写完后,点击[注册]按钮。
选择”Ansible-Pioneer”菜单组 >> 选择”对话文件素材集”,进行登记工作。
必须完成所需的输入项目(选择对话文件素材后,点击“事前上传”按钮)
完成输入后,点击“注册”按钮。
在“Ansible-Pioneer”菜单组中选择“Movement详细”进行相关文件的关联,并进行注册操作。
需要输入的项目包括「流动性」「对话类型」「包含顺序」。
接下来选择和设置如下表所示。
请适当选择必填项目并输入。
请点击[注册]按钮。
3. 设定操作
创建操作并将其与移动和主机相关联。
在这里,操作是指用于ITA系统内表示整个工作的工作名称。
选择 “基本控制台” 菜单组,然后开始注册 “投入操作列表”。
必须填写的项目是“操作名称”和“预计执行日期”。
这次我们将按照下表所示进行设置。
只需一个选项:必须输入“操作名称”和“预定执行日期”两个项目,然后点击[注册]按钮。
创建参数表,并管理适用于目标机器的参数。
选择「菜单创建」菜单组 >> 选择「菜单定义/创建」,输入必填项目。
①请适当选择和输入必填项目。
②请点击[目标菜单组]按钮。
选择菜单组如图所示(菜单组已在前几篇文章 “Ansible模式共通设置” 中创建)。
点击[确定]按钮。
定义参数表的项目名称是在前面点击“确定”按钮后进行的。
在这里我们定义表格的项目。
請添加選項,將 “項目名”、”輸入方式” 和 “最大位元組數” 設定如下圖所示。
点击[项目],添加3个新项目
选择、输入、修改如图所示
点击[创建]按钮
### 参数注册
到目前为止,我们已经创建了参数表格。
现在开始注册用于配置目标机器的数据。
选择「AnsibleDriver实践用」菜单组,开始注册。
必须填写的项目包括「主机名」「操作」「参数」。
具体的的设置将根据下表作为参考。
www.test.com
www.pioneer.com
只需提供一种选择,将以下内容以中文母语重新表达:
①请适当选择并输入必填项目。
②点击[注册]按钮。
自动设定变量与各项目相关联。
选择「Ansible-Pioneer」菜单组,并进行注册操作。
具体的设置请参考以下表格。
确认代入值和作业主机
点击「Ansible-Pioneer」菜单组下的「作业目标主机」
点击「Ansible-Pioneer」菜单组下的「分配值管理」
点击[过滤器],确认「列表/更新」。
通过“pioneer代入值自动注册设置程序”来确认已设置的项目是否被指定为正确的值。
5. 完成任务
运动的执行
请点击「Ansible-LegacyRole」菜单组,然后选择「执行操作」。
①选择所创建的移动方式
②选择所创建的操作方式
③点击【执行】按钮
执行结果确认
当执行操作时,屏幕会转到其他页面,显示执行状态和日志。
此外,您还可以下载包含输入数据和结果数据的ZIP文件。
此外,我们还将移动到目标主机并确认/tmp/hosts文件的内容。
# cat /tmp/hosts
如果显示如下,并且已经添加了主机,则表示成功。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.10 www.test.com
192.168.20.5 www.pioneer.com
最後に、我们创建了三篇文章来解释如何使用ITA中的Ansible 3模式。
我计划在下一次会议中讲解有关Windows Server的自动配置(目前正在创建中)。
相关链接 (Guanlian lianjie)
-
- Ansibleモード共通設定、① Ansible-Legacy編
-
- ② Ansible-LegacyRole編
- ③ Ansible-Pioneer編
###引索
-
- ExastroSuite コミュニティページ
-
- Exastro IT Automation
- ITA Ansible実習編