从Kompira Enterprise执行Ansible的Playbook
在系统运维现场中,配置管理也是重要的工作之一,但从配置信息描述到在设备上实施以使之反映出来的步骤书的编写等,相对来说是一项繁琐的工作。因此,推荐使用配置管理工具等来实现自动化。本文将介绍如何使用配置管理工具”Ansible”中的Playbook文件来从Kompira Enterprise执行配置内容。
除了单独使用Ansible,还可以用于与申请响应的服务器分配和任务完成后的通知处理等协作。
※ 本文假定 Kompira Enterprise 服务器已经安装了 Ansible。有关安装方法,请参阅”Installation Guide”。
整体构成图
以下是本文所涉及的结构。

库存设定
首先,我们来进行Ansible的inventory设置。
请在Kompira Enterprise服务器的控制台上打开inventory文件,并按如下方式将组名设为[kompira],然后添加要执行Ansible的目标连接信息。
[kompira]
<ユーザー名>@<接続先ホスト名 or IP アドレス>
库存文件的默认路径是/etc/ansible/hosts。
请将<用户名>和<连接目标主机名或IP地址>替换为您自己环境的连接信息。
请将<用户名>设置为具有root权限的用户。
创建Playbook
接下来,我们将创建一个使用Ansible执行的Playbook来描述内容。
关于Playbook的具体描述,请参考”Playbook概述”。
这次适逢
-
- 安装Apache httpd
- 添加具有通过参数指定的用户ID和密码的用户。
进行。
用以下的YAML格式创建描述这些的Ansible Playbook“kompira_test.yml”。将其放置在/tmp目录中。
kompira_test.yml可以采用以下方式进行翻译:
光荣泉测试.yml
精彩泉测试.yml
火雷泉测试.yml
狂热泉测试.yml
幸福泉测试.yml
- hosts: kompira
become: yes
tasks:
- name: install Apache
yum:
name: httpd
- name: start httpd
service:
name: httpd
state: started
- name: add user
user:
name: "{{ user_name }}"
password: "{{ password | password_hash('sha512') }}"
SSH公钥注册
为了在连接的服务器上运行Ansible Playbook,需要配置使其可以通过公钥进行SSH连接。
(Translation: In order to execute the Ansible Playbook on the target server, configure it to allow SSH connection through public key authentication.)
请参考使用公钥认证进行SSH连接的”证书创建”和”在远程服务器上注册证书”,创建一个名为”kompira.key”的密钥文件,并设置”kompira”用户可以通过公钥进行SSH连接到目标服务器的配置。
请在完成后,在Kompira Enterprise服务器控制台上输入以下内容,以确保可以无需密码进行ssh连接。
$ su kompira -c "ssh -i ~/.ssh/kompira.key <ユーザー名>@<接続先ホスト名 or IP アドレス>"
创建和执行工作流程
请创建一个包含以下作业流程“Playbook执行”的流程。
执行Playbook
| user_name |
| password |
["ansible-playbook /test/kompira_test.yml --extra-vars 'user_name=${user_name} password=${password}' -i /etc/ansible/hosts"
] =>
{ if $STATUS != 0 |
then:
print("エラーが発生しました")
else:
[
__host__ = "<接続先ホスト名 or IP アドレス>",
__user__ = user_name,
__password__ = password
] ->
print("ユーザー名")-> ["whoami"] ->
print("httpd の状態")-> ["systemctl status httpd"]
}
-
- inventory ファイルのパスがデフォルトと異なる場合、「 /etc/ansible/hosts」の部分を正しいパスに書き換えてください。
-
- <接続先ホスト名 or IP アドレス> は、inventory で設定したものと同じ値を入力してください
- Kompira Enterprise 1.5 系の場合は print($RESULT) で結果を出力してください。
在这个工作流中,执行Playbook的内容后,使用创建的用户名和密码登录到连接的目标服务器,并确认登录用户名和httpd的运行状态。
创建后,请在作业流参数”用户名称”和”密码”中输入新注册的用户名和密码,然后执行。本次示例中,用户名为”test”,密码为”kompira”。

执行结果如下:

当进一步执行时,发现登录用户名为test,httpd的状态为激活(running),因此可以确认Playbook的内容已正确反映。

通过上述方法,我们可以从Kompira Enterprise执行Ansible Playbook。
通过使用它,不仅可以将现有的Ansible Playbook重用到Kompira Enterprise中,而且还可以定期执行Playbook,将配置管理部分交给Ansible,而其他处理交由Kompira Enterprise来完成,实现工作分工。
另外,作为应用的几种可能性有:连续处理注册操作、在执行Ansible Playbook后通知结果、接收外部触发事件后执行Playbook、管理清单文件本身、以及通过下拉菜单选择已注册节点的用户界面设计。
Kompira Enterprise的产品信息
这是一种用于自动化服务器和网络设备运维的协作处理基础软件。通过准备使用独特的Kompira工作流脚本,可以实现自动化操作手册的操作、基于监控工具和电子邮件的维护操作等,以便对个别设备和工作流程进行精细化的定制。