https://ljstudy.connpass.com/event/71037/ でのLT資料です。
![Ansibleで構成管理。〜たったひとつの冴えたやりかた〜](https://cdn-ak-scissors.b.st-hatena.com/image/square/6190c78430ac96171549e09d055cefa6804fbfd0/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F120ae04d58564dc5a8b31bc30e6942ef%2Fslide_0.jpg%3F9233202)
はじめまして、入社1年と数ヶ月のkamoです。初投稿になります。 最近、巷で噂のRaspberry Pi B+を買ってしまいました。 え?この記事を書かずにそんなことしてん?何してんの? 他にもやることあるよね、kamo? という心の声が聞こえてきましたが、学生の頃、テスト期間中に勉強しなければいけないのに、机の上や部屋の掃除をしてしまう感じで買ってしまいました。すみません。 Raspberry Pi B+で何をするかは、まだ考えていません。色々と片付いたら弄ろうと思っていますので、ご勘弁を。 さて、最近はサーバを構成管理ツールで管理するのが流行っていますが、トライコーンでは Ansible を使っての構成管理を試してみています。 その中でハマったのが shell や command モジュールを使いながら冪等性を保つ方法です。VagrantとAnsibleで開発環境を構築 – テストとハ
(これは http://tdoc.info/blog/2014/10/09/ansible_coding.html の転載です) edX がgithub上でAnsibleのコーディング規約を公開しています。 このリポジトリは GNU AGPLv3です。翻訳の場合でもおそらく大丈夫だと思いますので、ここで翻訳して公開してみます。 一般 YAMLファイル すべてのyamlファイルは2スペースのインデントで、 .yml を拡張子に 付けてください。 変数 jinja変数の形式を使ってください。 $var ではなく {{ var }} です。 jinjaの変数名の前後に空白を入れてください。 {{var}} ではなく {{ var }} です。 環境独自で上書きされる必要がある変数名は全部大文字としてください。 ロール内で完結する変数名は全部小文字としてください。 ロール内で定義する変数名は、先頭
ansibleのresponse ansibleで複数のサーバーの状況を一挙に取得してと考えたが、気をつけて置かないと行けないいくつかの事が出てきたのでちょっとメモ ansibleからssh経由でshell/command moduleにてcommandを投げた際に画面上に表示されるresponseだが http://cloudpack.media/wp-admin/post-new.php#post_name stdioとstderrにそれぞれ出力される ansibleが並列にコマンドを投げているのに対して出力のstdioとstderrはあくまで一つしか無い 接続先hostからのresponseは接続先ホスト(ansible実行元ではない)のstdio+stderrがansible実行元のstdioに出力される。 この時、stdioにはまず正常系出力が表示され連続してエラー系が表示される
多種多様な構成のサーバーを Ansible で管理する場合、単一のベストプラクティスツリーに押し込むのは管理が大変すぎて現実的ではないなとおもい、どうしたものかなと悩んでいました。で、最近やっとこれかなという構成ができたので共有してみます。 何が問題か? ロールには共用できるものとできないものがある、それがいっしょこたに混ざるのが嫌 無理に共用できるようにと変数を多用するととても管理が大変。変数も覚えられないし、テストが大変 読み込むファイルのパスが大元のymlからの相対パスであり、include ではディレクトリ階層での整理が難しい -l で対象サーバーを絞り込んでも全てのタスクが表示され、skipped, skipped, skipped と関係ない task 表示がターミナルが埋まって見づらい そして、たどり着いたオレオレベストプラクティス まとめて管理したいサーバーグループ毎にベス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く