【参加レポート】Ansibleもくもく会 （サーバ編）2019.03 #ansiblejp

## Ansibleもくもく会 （サーバ編）2019.03 in オイシックス・ラ・大地

こんにちは。[エーピーコミュニケーションズ](https://qiita.com/organizations/ap-com)
で働いている浅野です。

Infrastructure_as_codeに興味があり、[akira6592](https://qiita.com/akira6592)さんからも
お誘いいただいたのでレッドハットさんが行なっているもくもく会に参加してきました。

## もともとのAnsibleのスキルとか経験とか
Ansibleってyamlファイルを書けばコマンド一発でインストールできるんだよね〜(やったことはない)

## どんなもくもく会なのか
- ほぼ月一で行われている
- もくもく会はLinuxのクラウド上でのサーバ構築とネットワーク構築の２つ
- 環境構築はレッドハットさんで済み、電源あり、Wifiあり(※場所によるかも)
- メンター充実してる
- 場所はレッドハット本社orどこか
- リンクは[こちら](https://ansible-users.connpass.com/event/123557/)

## 今回はどうだったのか
入場したら、オイシックス・ラ・大地さんで、まずは野菜ジュース（[Vegeel](https://www.oisix.com/shop.oitoku--Wsh1-1455_a_b__html.htm?null）)）タワーと
豚さんのご歓迎（笑）



![IMG_20190326_185535.jpg](https://qiita-image-store.s3.amazonaws.com/0/369281/9f5a0a73-1eca-560e-baf1-26ffe59d7114.jpeg)

椅子に座り、レッドハットさんとオイシックス・ラ・大地さんのご挨拶&諸注意のあとにもくもく会スタート！

教材は[こちら](https://github.com/network-automation/linklight/tree/master/exercises
)、

##サーバ編の教材(こちらをやりました)

1: ansible_engine
演習 1 - アドホック・コマンドの実行
演習 2 - 初めてのplaybook作成
演習 3 - 変数、ループ、ハンドラを使う
演習 4 - apache-basic-playbookを実行する
演習 5 - Roles：Playbookを再利用可能にする

2: ansible_tower
演習 1 - Ansible Towerのインストール
演習 2 - Ansible Towerのコンフィグレーション
演習 3 - Job Templateの作成と実行


##もくもく開始!!
まずは、ansible_engine
演習 1 - アドホック・コマンドの実行からスタート

教材はこんな感じ

![スクリーンショット 2019-03-29 18.50.12.png](https://qiita-image-store.s3.amazonaws.com/0/369281/23bbaa2b-5034-4aec-73a6-9578b871e3b5.png)

![スクリーンショット 2019-03-29 18.58.25.png](https://qiita-image-store.s3.amazonaws.com/0/369281/50eda041-99d2-4336-39e1-b5cb0c075e51.png)

読みやすい！
ということでサクサク進む。
演習でwebサーバ(apache)を複数立てたが、10台でも秒で終わるんじゃないの？という感じ。

つまったところは挙手してすぐにメンターさんに相談しました。

随時質問はリアルタイム記載される感じ

そんな感じで無事、演習 5まで完了し「2: ansible_tower」へ、Ansible Towerのインストールで
時間終了〜

その後成果共有でみなさん話し（私も行いました）、作り込んだ資料でLTする方もいらっしゃって、アンケートを書いて終了しました。

## できたもの

```yaml


- hosts: web
  name: This is a play within a playbook
  become: yes
  vars:
    httpd_packages:
      - httpd
      - mod_wsgi
    apache_test_message: This is a test message
    apache_max_keep_alive_requests: 115

  tasks:
    - name: create site-enabled directory
      file:
        name: /etc/httpd/conf/sites-enabled
        state: directory
     
    - name: copy httpd.conf
      template:
        src: templates/httpd.conf.j2
        dest: /etc/httpd/conf/httpd.conf
      notify: restart apache service
     
    - name: copy index.html
      template:
        src: templates/index.html.j2
        dest: /var/www/html/index.html
     
    - name: start httpd
      service:
        name: httpd
        state: started
        enabled: yes
  handlers:
    - name: restart apache service
      service:
        name: httpd
        state: restarted
        enabled: yes

```

## もくもく会に出てAnsibleについてわかったこと
- `~/.ansible.cfg`でAnsibleの実行対象を定義している
- ansibleコマンドで確かに一発でWebサーバを複数台インストールできる/サービス登録もできる
- 自動化させたいものはplaybookに書く
- インデント大事！(上の「できたもの」の中の`handlers`が半角スペース1つ分足りないだけでAnsibleから怒られた)

## スキル的なハードル
- Linuxの基礎的なコマンド(`ls`/`cd`/`mkdir`)がわかっている
- `vi`のファイルを作成できる(`i`で入力モードで、`:wq`で保存)くらい
- webサーバ(Apache)のインストールをやったことがある

## やりたい動機とか
- Ansibleってどんなんかやってみたいな〜ってひと
- AnsibleTower触りたいって人

つまること無く(あってもすぐにメンターに相談でき即解消！)
サクサク進められるのでおすすめです！
やってみたくて、Qiita見たり技術ブログ漁ったりするならもくもく会にgoした方がよっぽどコスパ良い！

## おまけ
- 成果共有枠で話されていたAnsibleの[マンガ](http://redhat.lookbookhq.com/jp_ansible_comic/12510)

- Ansibleもくもく会以外にもAnsibleNight(事例発表会的なもの)なものも

- 次のもくもく会は[こちら](https://ansible-users.connpass.com/event/124686/)