在公司内部举办Ansible自由学习会
在公司内举办“Ansible沉思研讨会”的起因。
-
- Ansible、よく聞くけど触ったことがない。
-
- なんだか社内で自動化自動化言われている。けどRPAは何か好きになれない。
-
- 「自動化」というキーワードに夢を見がち…
- とりあえずAnsibleを使ってどういうことが出来るかを知りたい
因为当时处于这种状态,所以我参加了每月一次的Ansible用户会举办的“Ansible研究会”。参加后,由于文本非常易懂,我完全理解了Ansible,所以决定在公司内进行推广。
创建”もくもく会”的步骤
为了开展黑客马拉松活动,准备的有以下两个项目。
-
- テキスト
- 演習環境
文本
ansible工作坊-适用于红帽企业Linux的ansible
我很难很好地解释Ansible是什么,所以你可以提前在网络上阅读收集到的资料。请看这份Ansible介绍(PDF文件)。
训练环境 (Section 1使用)
环境设计和费用


建立环境
创建虚拟机


只需要一种选择,原文的中文转述如下:
安装Ansible为mokumoku会议管理员使用。
在实例启动后,将Ansible安装在一台(控制节点(Master))。然后,使用在Master上安装的Ansible来构建参与者使用的控制节点。

启用epel仓库,并使用yum安装Ansible。
$ sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo yum install -y ansible
确认安装已完成。
$ ansible --version
ansible 2.9.1
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/ec2-user/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.16 (default, Sep 13 2019, 20:28:21) [GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
创建环境的参与者
为了为参加学习会的学员们创造一个适合的环境,需要进行以下三点措施。
・创建适用于会议管理员的Inventory文件
・在学员环境中安装Ansible
・配置学员远程环境用于SSH登录的私钥
创建Inventory文件
在初始设置中,Inventory文件的路径是/etc/ansible/hosts。
根据用于学员控制节点的IP地址创建Inventory文件。
[mokumoku_control]
control_1 ansible_host= (IPアドレス)
control_2 ansible_host= (IPアドレス)
control_3 ansible_host= (IPアドレス)
[mokumoku_control:vars]
ansible_user=ec2-user
ansible_ssh_private_key_file=(秘密鍵のパス)
当创建了Inventory文件后,按照Exercise 1.2 – Ad-hoc命令的步骤来执行,以确保可以成功运行。由于没有保存在SSH的Known hosts中,因此第一次会要求确认。可以使用”yes”来将其添加到known hosts中。
创建用于安装Ansible的Ansible Playbook。
---
- name: Ansible installed
hosts: mokumoku_master
become: yes
tasks:
- name: enable epel package
yum:
name: https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
state: present
- name: install ansible
yum:
name: ansible
state: latest
enablerepo: epel
- name: put private key
copy:
src= (秘密鍵のファイルパス)
dest=/home/ec2-user/.ssh
owner=ec2-user
mode=0644
执行Ansible Playbook
为了确认Playbook的正确编写,我们将在执行命令时添加”–syntax-check”选项进行检查。
执行命令”$ ansible-playbook –syntax-check ansible_install.yml”,如果没有错误的话,则执行命令”$ ansible-playbook ansible_install.yml”,一切准备就绪,即可得到学员使用的控制节点。
达到了目标
由于环境已经完成,我们请学员登录到VM并编写Inventory文件,演练环境就会完成。我们决定将编写Inventory文件的方式作为学习的一部分,而不进行自动化(自动化实现起来很麻烦,这一点保密)。
试试进行Ansible的工作坊。
优点
-
- みんながAnsible使えるかもと業務への適用を考え始めた。
- 演習環境の構築自体がとても勉強になった