在公司内部举办Ansible自由学习会

在公司内举办“Ansible沉思研讨会”的起因。

    • Ansible、よく聞くけど触ったことがない。

 

    • なんだか社内で自動化自動化言われている。けどRPAは何か好きになれない。

 

    • 「自動化」というキーワードに夢を見がち…

 

    とりあえずAnsibleを使ってどういうことが出来るかを知りたい

因为当时处于这种状态,所以我参加了每月一次的Ansible用户会举办的“Ansible研究会”。参加后,由于文本非常易懂,我完全理解了Ansible,所以决定在公司内进行推广。

创建”もくもく会”的步骤

为了开展黑客马拉松活动,准备的有以下两个项目。

    • テキスト

 

    演習環境

文本

ansible工作坊-适用于红帽企业Linux的ansible

我很难很好地解释Ansible是什么,所以你可以提前在网络上阅读收集到的资料。请看这份Ansible介绍(PDF文件)。

训练环境 (Section 1使用)

环境设计和费用

image.png
image.png

建立环境

创建虚拟机

image.png
image.png

只需要一种选择,原文的中文转述如下:
安装Ansible为mokumoku会议管理员使用。

在实例启动后,将Ansible安装在一台(控制节点(Master))。然后,使用在Master上安装的Ansible来构建参与者使用的控制节点。

image.png

启用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使えるかもと業務への適用を考え始めた。

 

    演習環境の構築自体がとても勉強になった
广告
将在 10 秒后关闭
bannerAds