今日は遅めの夏休み休暇中でしたが、楽しみにしていたイベントだったので参加してきました。
参加者200名近くの人気イベントということで、前回「「Ansible 勉強会 #1」に参加してきました」のイベントから約3ヶ月、Ansible 界隈はまだまだホットなようです。
なお今回は、Ansible.com から開発コアメンバーの方も Hangout で特別参加(同時通訳なし)ということで、少しハードルが高かったかもしれません。
タイトル
Ansible Meetup in Tokyo 2014.09 (2014.9.22)
主催
日本経済新聞社 デジタル編成局
管理グループ
会場
日経カンファレンスルーム
東京都千代田区大手町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」を出版
- 作者: 若山史郎
- 発売日: 2014/07/30
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
- 「Sphinxをはじめよう」もよろしく
1) roles_path
- roleが散らばって困っているときに使う(rolesをまとめて検索してくれる)
- 「:」で複数書ける
- roles_pathを前から探していく
2) whenの複数条件
-
- AND条件で「-」を並べて書けばよい
3) environment
- 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
DevOps visibility in a box: InfluxDB + Grafana + CollectD
Paul Dix (Influxdb CEO)
- influxDB
- Grafana
- HTML + JavaScript
- Dashboards
- オープンソース
- CollectD
- Agent to gather data
- GalaxyにinfluxDB用のroleがいくつかある(一部古いので注意)
Ansibleの時系列ログをinfluxDBに定期的に格納しておくことで、あとで視覚化できるよという話かな。
おまけにインストール自体もAnsibleでできるよ、と。
参考
- ansibleのログをfluentdに流す — そこはかとなく書くよん。
- Ansible勉強会#1-LT - Google スライド
- InfluxDB の概要 - sonots #tokyoinfluxdb
Ansible meets Windows
@myb1126
- Windowsサポートの話をしようと思ったら、Quitaに詳しい記事があった。。
- なので、Ansible + Windows で Baremetal deployment やってみた
- Ansible では PowerShell 使ってる(Chef は Ruby + PowerShell)
- エージェントは不要
- Windowsサポートにより、Linuxで管理するサーバの選択肢に Windowsサーバが入ってきた
- メンバーのWindows開発環境も自動化できるかも!
- その他
- ansible-lintは使えるかも
- Ansible本体に入れるべきでは?という話もあるとか
以下、LTです。
ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!
@saito_hideki
- 趣味は、OpenStack と Ansilbe
- Ansibleのモジュールを自作したい
- 通常、Ansibleがモジュールから生成した実行プログラムは、実行後にノードから削除されてしまう
- 実行プログラムを消さずに残しておく方法は?
- ANSIBLE_KEEP_REMOTE_FILES=True
- モジュール実行時のAnsibleの動き
- モジュールから実行プログラムを生成する
- 実行プログラムをsftpで操作対象ノードに転送する
- ssh経由で実行プログラムを操作対象ノードで実行する
- リターンコード, stdout, stderrをハンドリングする
- 実行プログラムを操作対象ノードから削除する
- /root/.ansible/tmp/ansible-tmp-xxxx/ 以下にモジュール名と同名の実行プログラムが残る
実用plugin
@choplin
- pluginとは、Ansibleの実行エンジン自体の拡張
- Connection Type Plugins
- Lookup Plugins(使ってない)
- Vars Plugins(使い道がわからん。。)
- Filter Plugins(使ってる)
- Callbacks Plugins(使ってる)
Ansibleとテスト
@volanja
- これまで、「Ansibleで作るGitlab+Redmine」とか書いてきた
- テストには Serverspec を使ってる
- 「ansible_spec」というgemを自作してみた
- 本家に「Testing Strategies」というのがあるので一読すべし
Dynamic Inventoryと参照変数
@bungoume
- 日経電子版のインフラエンジニア