Ansible 每月集会 2019年4月 在甲府 参与报告
由Ansible用户俱乐部主办的Ansible学习会在我们公司内举行,我趁着这个难得的机会参加了进去。
https://ansible-users.connpass.com/event/124686/
“木木会” 指的是一群人聚在一起,按照各自的节奏努力工作或学习的会议。
株式会社アイティードゥは甲府駅から徒歩約15分の場所に位置しています。この会社は主にインフラ関連の業務を引き受けています。彼らは月に一度程度、公開の勉強会の会場を提供しています。
Ansible 是什么?
・可以自动化构建和运营服务器和网络设备的工具。
・在称为playbook的YAML文件中编写您希望执行的任务,并自动执行这些任务。
具体而言,包括安装软件包、替换文件、执行命令等等。
・唯一需要的前提是Python环境和能够进行SSH连接,因此非常适合虚拟机和云环境。
默默的会议
在AWS上的学习环境中,我们每个人都进行了实操。请点击链接查看更多详情:https://github.com/network-automation/linklight/blob/master/exercises/ansible_engine/README.ja.md。
可以与RedHat公司负责开发Ansible的员工(包括RedHat株式会社2的人员)以及导师们建立直接沟通的体制,这也是参加Ansible的合作学习会的一个理由。
我在参加这个 Ansible 研讨会之前,并不是第一次接触 Ansible,我已经通过书籍和网上教程对基本用法有了一定的了解。但是,从这次 Ansible 研讨会开始,我觉得这里是一个非常好的学习环境,我希望能早点遇到这个 Ansible。
搭建Ansible执行环境需要准备多台计算机和网络设置,包括为NIC分配IP地址,设置用于公钥认证的密钥文件,确认权限等等,直到建立SSH连接为止,这是相当繁琐的过程。在搭建环境阶段就会遇到很多问题,有时候甚至会因为疲惫而放弃学习这个工具。因此,在一个做好前提准备的状态下,立即开始学习Ansible具有很大的优势,可以维持动力和动力的观点。
展示了安装和启动Apache服务到多台机器的演示例子非常清楚地帮助了我了解了Ansible的概述,并且逐渐扩展playbook的过程对我理解playbook的结构有很大帮助。
因此,我們能夠順利地通過基於角色的 playbook 分割以及每個目錄的角色來接受。Ansible 通過在 roles 目錄下創建指定名稱的目錄來分割 playbook。理解應如何進行分割的目錄結構,首先需要理解 playbook 的結構似乎是一個捷徑。
在本次实践中,扩展并分割的playbook目录结构最终变为这样。
#tree -F
.
`-- roles/
|-- apache-simple/
| |-- README.md
| |-- defaults/
| | `-- main.yml
| |-- handlers/
| | `-- main.yml
| |-- tasks/
| | `-- main.yml
| |-- templates/
| | |-- httpd.conf.j2
| | `-- index.html.j2
| `-- vars/
| `-- main.yml
|-- hosts
|-- site.yml
`-- site.yml.bk
通过执行site.yml,将执行分割的 playbook。
site.yml的内容如下所示。
---
- hosts: web
name: This is my role-based playbook
become: yes
roles:
- apache-simple
大致上来说,这个 playbook 的意思是“载入/roles/apache-simple下的内容,并以目标服务器web的root用户来执行。” 所有的子目录下的main.yml文件都会被自动载入。
各个目录下的角色所扮演的职责
- defaults
设定变量的默认值。如果没有其他设置,将使用该目录中的值。
Ansible变量根据设置的位置来确定优先级,该目录中定义的变量具有最低的优先级。
- handlers
用于执行控制的目录。
例如,可以设置条件分支,例如“只有在发生此任务引起的更改时才执行handlers目录下的特定任务”。
- tasks
用于描述想要在目标服务器上执行的操作的目录。包括安装软件包和设置文件等。
- templates
如果使用template模块放置文件,请在此目录中的文件中写入其内容。
使用Jinja2模板引擎,文件的扩展名将是.j2。
- vars
在卷内定义使用的变量的目录。
根据角色分解playbook,可以方便地重用他人编写的playbook或共享自己的playbook。由于存在可以共享playbook和目录结构的ansible-galaxy,可以预期通过结合使用能够实现强大的运维管理。
The Chinese translation for “終わりに” is “最后”.
在此,我要再次向主办Ansible用户会的大家、Red Hat公司的大家以及参加者们表达感谢,感谢你们为我们提供了一个良好的学习环境。也感谢大家在学习会后的Ansible聚餐2中共度了美好的时光。这样就结束我们的报告了。
我非常享受金精轩的寒天信玄饼和竹薮之乡的美味。我们下次再在Ansible饭3见面。
链接
Ansible 用户会
https://ansible-users.connpass.com/
ITdo 公司
RedHat 公司
https://www.redhat.com/ja/global/japan
使用Ansible相关工具共享技术信息、成果等的用户社区。
这是一家以云技术服务为核心的公司,同时也以Red Hat Enterprise Linux作为产品进行销售、开发和支持的Linux发行版。(摘自维基百科)
Ansible用户团体成员之间举行的聚餐活动。