Suche senden
Hochladen
Ansible meetup201409
•
19 gefällt mir
•
8,128 views
S
shirou wakayama
Folgen
Ansible meetup in Tokyo
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 17
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
SQL Server 2017 Machine Learning Services (CLR-H in TOKYO #13)
SQL Server 2017 Machine Learning Services (CLR-H in TOKYO #13)
Tomoyuki Oota
Zombie2601 2011 11-07
Zombie2601 2011 11-07
kiwofusi
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
Shoken Fujisaki
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
IDA ユーザなら知っておくべきマントノン侯爵夫人にモテる 7つの法則
勇 中津留
この素晴らしいSQLに祝福を!
この素晴らしいSQLに祝福を!
__john_smith__
properties, yaml, and me
properties, yaml, and me
Y Watanabe
Reproducebility 100倍 Dockerマン
Reproducebility 100倍 Dockerマン
Nagi Teramo
DefinitelyTyped良いという話
DefinitelyTyped良いという話
gyoh_k
Weitere ähnliche Inhalte
Ähnlich wie Ansible meetup201409
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)
hiboma
知って得する標準関数の使い方
知って得する標準関数の使い方
Soudai Sone
Haikara
Haikara
jewel12
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
Daichi Koike
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
Naotoshi Seo
アルゴリズム+データ構造勉強会(8)
アルゴリズム+データ構造勉強会(8)
noldor
メタメタプログラミングRuby
メタメタプログラミングRuby
emasaka
⑳CSSでアニメーション!その1
⑳CSSでアニメーション!その1
Nishida Kansuke
ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門
Mahito Ogura
長いの
長いの
emasaka
私がPerlを使う理由
私がPerlを使う理由
Yohei Azekatsu
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
Mod lua
Mod lua
do_aki
Elasticsearch at CrowdWorks
Elasticsearch at CrowdWorks
佑介 九岡
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
emasaka
What is chef
What is chef
Yukihiko SAWANOBORI
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?
Shinichi Nishikawa
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
しくみ製作所
ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!
Kazumi IWANAGA
RealtimeTweakPickerMode
RealtimeTweakPickerMode
Yoh Akiyama
Ähnlich wie Ansible meetup201409
(20)
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)
知って得する標準関数の使い方
知って得する標準関数の使い方
Haikara
Haikara
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
アルゴリズム+データ構造勉強会(8)
アルゴリズム+データ構造勉強会(8)
メタメタプログラミングRuby
メタメタプログラミングRuby
⑳CSSでアニメーション!その1
⑳CSSでアニメーション!その1
ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門
長いの
長いの
私がPerlを使う理由
私がPerlを使う理由
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Mod lua
Mod lua
Elasticsearch at CrowdWorks
Elasticsearch at CrowdWorks
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
ゲットーの斜め上をゆくWebアプリケーションフレームワークの開発
What is chef
What is chef
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!
RealtimeTweakPickerMode
RealtimeTweakPickerMode
Mehr von shirou wakayama
ansible-playbook useful command line options
ansible-playbook useful command line options
shirou wakayama
EdisonでMQTT
EdisonでMQTT
shirou wakayama
Open Stack Day - Ansibleによる環境構築の自動化
Open Stack Day - Ansibleによる環境構築の自動化
shirou wakayama
MQTT meetup in Tokyo 機能概要
MQTT meetup in Tokyo 機能概要
shirou wakayama
Ansible for beginners ...?
Ansible for beginners ...?
shirou wakayama
Ansible入門...?
Ansible入門...?
shirou wakayama
Tinkerer for pyfes 201303
Tinkerer for pyfes 201303
shirou wakayama
Mehr von shirou wakayama
(7)
ansible-playbook useful command line options
ansible-playbook useful command line options
EdisonでMQTT
EdisonでMQTT
Open Stack Day - Ansibleによる環境構築の自動化
Open Stack Day - Ansibleによる環境構築の自動化
MQTT meetup in Tokyo 機能概要
MQTT meetup in Tokyo 機能概要
Ansible for beginners ...?
Ansible for beginners ...?
Ansible入門...?
Ansible入門...?
Tinkerer for pyfes 201303
Tinkerer for pyfes 201303
Kürzlich hochgeladen
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
Shumpei Kishi
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
Ayachika Kitazaki
2024 03 CTEA
2024 03 CTEA
arts yokohama
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
2024 04 minnanoito
2024 04 minnanoito
arts yokohama
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
arts yokohama
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
ssuser370dd7
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
Matsushita Laboratory
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
Sadao Tokuyama
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
arts yokohama
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
Tetsuya Nihonmatsu
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
ssuser539845
Kürzlich hochgeladen
(12)
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
2024 03 CTEA
2024 03 CTEA
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
2024 04 minnanoito
2024 04 minnanoito
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
Ansible meetup201409
1.
知っていると ちょっと便利なこと 若山
史郎 @r_rudi
2.
おまえだれよ? • 若山史郎
@ ツキノワ株式会社 • お仕事募集中です • Twitter ID: r_rudi • 著書 • Ansible: 「入門Ansible」 • Sphinx :「 Sphinxをはじめよう」
3.
今日お話すること • 知っているとちょっと便利なこと
• いろいろなな小ネタを用意しました • 全部で7つです。お互いに関連性はありません
4.
一つ目 roles_path 検閲済み
5.
roles_path (1/7) •
roleが散らばって困っていませんか • リポジトリが違う場合など • ansible.cfgに “roles_path” を設定できます roles_path=/opt/roles:../roles ! • “:”で区切って複数個指定できます • “..” など相対パスも使えます
6.
roleの検索順序 (1/7) •
roleの検索順序 1. 自分のディレクトリの roles 以下 2. 自分のディレクトリ 3. roles_pathを前から探していく ./deploy.yml /inventory /roles/hoge/tasks /hoge/tasks/ ← こっちが先
7.
whenの複数条件 (2/7) when:
ansible_os_family == "RedHat" ! and mode == "production" • 長すぎ。こう書けます when: - ansible_os_family == "RedHat" - mode == "production"
8.
shellで環境変数 (3/7) •
“environment” • ちなみにどのモジュールでも使えます ! ! - shell: something.sh environment: PATH: /opt/bin • sourceは使えない。 “.” かbashで実行 - shell: source envfile && something.sh stderr: /bin/sh: 1: source: not found - shell: . envfile && something.sh - shell: source envfile && something.sh executable=/bin/bash
9.
数字として比較 (4/7) •
普通に書くと、文字列での比較となってしまう - shell: cat /var/log/something.log | wc -l register: logline - fail: msg="too long" when: logline.stdout > 300 - shell: cat /var/log/something.log | wc -l register: logline - fail: msg="too long" when: logline.stdout | int > 300
10.
バージョンを比較 (4/7) •
“3.0.16” などのバージョンを比較できます vars: version: 3.0.16 tasks: - debug: msg="its old!" when: version | version_compare(‘3.0.20’, '<=')
11.
正規表現で比較 (4/7) vars:
url: "http://example.com/users/foo/resources/bar" ! tasks: - shell: "msg='パターン 1にマッチ (完全一致)’" when: url | match("http://example.com/users/.*/ resources/.*") ! - debug: "msg='パターン 2にマッチ (部分一致)’" when: url | search("/users/.*/resources/.*")
12.
cronモジュール (5/7) •
crontabの書き方を忘れたりしませんか? • minute, hour などで指定できます cron: name=“check” minute=30 hour="5,2" job="ls -alh > /dev/null" ! • @reboot なども指定できます cron: name="reboot" special_time=reboot job="ls -lah" ! • AnsibleのDSLを覚えておけばいい
13.
local_fact (6/7) •
/etc/ansible/facts.d/hosts.fact • 対象ホストにファイルを置くとfactとなる [group] stage=! development role=webserver ! • 使い方 - debug: msg={{ ansible_local.hosts.group.role }}
14.
local_fact (6/7) •
JSONでも書けます { "group": { ! “role”:"webserver", “stage”: “development” } } ! • 実行権限をつけると、動的に生成できます #!/bin/sh cat <<EOF {"group": { “role”:"webserver", “stage”: “development” } } EOF
15.
local_path (6/7) •
/etc/ansible/facts.d/じゃない場所を使いたい! • setupモジュールを使う tasks: - setup: fact_path="/home/shirou/tmp/ansible" - debug: msg={{ ansible_local.hosts.group.role }}
16.
chatops (7/7) •
slack + hubot
17.
まとめ 1. role_path
2. when 3. shell 4. 数字として比較 5. cron 6. local_fact 7. hubot + slack • 小ネタを用意しました • 全部ドキュメントに書い てあります • hubotは後でgistを • 今後も便利な機能が増え ていくので乞うご期待
Jetzt herunterladen