akiyoko blog

akiyoko の IT技術系ブログです

「Ansible Meetup in Tokyo 2014.09」に参加してきました

今日は遅めの夏休み休暇中でしたが、楽しみにしていたイベントだったので参加してきました。

参加者200名近くの人気イベントということで、前回「「Ansible 勉強会 #1」に参加してきました」のイベントから約3ヶ月、Ansible 界隈はまだまだホットなようです。


なお今回は、Ansible.com から開発コアメンバーの方も Hangout で特別参加(同時通訳なし)ということで、少しハードルが高かったかもしれません。



タイトル

Ansible Meetup in Tokyo 2014.09 (2014.9.22)

主催

日本経済新聞社 デジタル編成局

管理グループ

Ansible ユーザー会

会場

日経カンファレンスルーム
東京都千代田区大手町1-3-7 日経ビル6F

Hi Japan! / What's New In Ansible 1.8

(Ansible.com)

  • Japan has the 4th biggest Ansible users
  • 1.7.1
    • Widows modules
    • RUN_ONCE keyword
  • 1.8 (Development)
    • Fast caching
    • NO_LOG
  • Ansible Galaxy CLI
    • Docker images
    • Try/Except

Q&A

  • ドキュメントの翻訳は、Transifexを使う予定
    • 翻訳者を募集!
    • いつまでというスケジュールはまだ無い
  • (マイナー)リリースのサイクルは3ヶ月おき
    • ユーザに頻繁に更新させるのは申し訳ないという理由もある
  • ドキュメント管理には、Sphinxを使ってて便利
    • ドキュメント自体もオープンソースでコントリビュートがあるのでしっかりしている
  • 1.7の Widowsサポートはβらしい。1.8で正式版とのこと


 

ちょっと便利な使い方 〜入門Ansibleに書ききれなかったことを中心に〜

@r_rudi



  • 「入門Ansible」を出版

入門Ansible

入門Ansible

  • Sphinxをはじめよう」もよろしく

1) roles_path

  • roleが散らばって困っているときに使う(rolesをまとめて検索してくれる)
    • 「:」で複数書ける
    • roles_pathを前から探していく

2) whenの複数条件

    • AND条件で「-」を並べて書けばよい

3) environment

4) 数字として比較

  • 数字として比較(普通に書くと、文字列での比較になってしまう)
    • when: logline.stdout | int > 300
  • バージョン比較するときは、version_compareという便利なのがある
    • when: version | version_compare('3.0.20', '<=')
  • 正規表現には、match, search というのも

5) cron

  • cronモジュール
  • minute, hourなどが使える

6) local_fact

  • /etc/ansible/facts.d/hosts.fact というファイルを置いておく
    • 対象ホストにファイルを置いておくことで、factとして扱われる

7) chatops

  • slack + hubot
  • 単なるシェルスクリプトとして結果を得るためにも使えて便利
    • Chefだと難しいのでは? Ansibleは構成管理ツールだけじゃないよ



 

DevOps visibility in a box: InfluxDB + Grafana + CollectD

Paul Dix (Influxdb CEO)

  • influxDB
    • 時系列データベース
    • オープンソース
    • HTTP API
    • 独自の機能
    • WHERE句に正規表現も使える
    • FROM句にも!
    • group by time(10m)
    • Countinuous queries
    • Scalability
    • Built-in UI
    • Retension Policies
  • Grafana
  • CollectD
    • Agent to gather data
  • GalaxyにinfluxDB用のroleがいくつかある(一部古いので注意)

Ansibleの時系列ログをinfluxDBに定期的に格納しておくことで、あとで視覚化できるよという話かな。
おまけにインストール自体もAnsibleでできるよ、と。


参考

 

Ansible meets Windows

@myb1126


  • その他
    • ansible-lintは使えるかも
    • Ansible本体に入れるべきでは?という話もあるとか





以下、LTです。


 

ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!

@saito_hideki


  • 趣味は、OpenStack と Ansilbe
  • Ansibleのモジュールを自作したい
  • 通常、Ansibleがモジュールから生成した実行プログラムは、実行後にノードから削除されてしまう
    • 実行プログラムを消さずに残しておく方法は?
    • ANSIBLE_KEEP_REMOTE_FILES=True
  • モジュール実行時のAnsibleの動き
  1. モジュールから実行プログラムを生成する
  2. 実行プログラムをsftpで操作対象ノードに転送する
  3. ssh経由で実行プログラムを操作対象ノードで実行する
  4. リターンコード, stdout, stderrをハンドリングする
  5. 実行プログラムを操作対象ノードから削除する
  • /root/.ansible/tmp/ansible-tmp-xxxx/ 以下にモジュール名と同名の実行プログラムが残る



 

実用plugin

@choplin

  • pluginとは、Ansibleの実行エンジン自体の拡張
    • Connection Type Plugins
    • Lookup Plugins(使ってない)
    • Vars Plugins(使い道がわからん。。)
    • Filter Plugins(使ってる)
    • Callbacks Plugins(使ってる)



 

Ansibleとテスト

@volanja



 

Dynamic Inventoryと参照変数

@bungoume


  • 日経電子版のインフラエンジニア


 

Where to start Ansible

@tetsuya

  • Ansibleは先週から始めた
  • 人生初登壇