タグ

Ansibleに関するyuukin77のブックマーク (19)

  • Ansible get_url モジュールで、冪等性を考えてみる - Qiita

    Ansibleのモジュールを使っていて、get_urlモジュールの冪等性が気になったので動作を確認した。 何が問題か get_urlモジュールは、wgetやcurlのように、外部からファイルをダウンロードしてくる訳だけど、ダウンロードに失敗してファイルが途中で切れていたりすると、その後のtar展開などで困る。 しかし、get_urlのデフォルト動作では、Playbookを再実行しても、壊れたファイルを見て「あ、もうダウンロード終わってるじゃん」となってしまい、ファイルを再取得してくれない。 おまけをつけると、ダウンロードしたファイルが更新された時だけ、その先のビルド処理を流したい。 解決方法 まず、get_url に sha256sum オプションを渡してあげる。 さらに force=yes を渡してあげる。 すると、ファイルが既にあったら、最初にsha256sumチェックサムを見てくれて

    Ansible get_url モジュールで、冪等性を考えてみる - Qiita
  • Ansibleを使い出す前に押さえておきたかったディレクトリ構成のベストプラクティス - 双六工場日誌

    Ansibleのディレクトリ構成を決める際、プロダクション環境、ステージング環境、開発環境といった環境ごとに異なる設定を変更する方法でしっくり来るものを思いつかず、どうしたものかと悩んでいたのですが、今日見つけたブログ記事でそれもスッキリ解消したのでメモっておきます。 結論 まず結論を。プロダクション環境、ステージング環境、開発環境といった環境ごとに異なる設定する場合は、以下のように対応するのが良さそうです。 ディレクトリ構成は、公式ドキュメントに従う。 Best Practices — Ansible Documentation プロダクション、ステージング、開発など、ステージごとの変数切替は以下のブログを参考に、"group_vars"を利用して行う。 インベントリファイルの中に、"[production:children]"のようなグループすべてが属するグループを作ってしまい、そのグ

    Ansibleを使い出す前に押さえておきたかったディレクトリ構成のベストプラクティス - 双六工場日誌
  • AWSチーム社内勉強会「Ansible」レポート | DevelopersIO

    はじめに こんにちは、虎塚です。 先週金曜日の18:30から1時間、AWSコンサルティング部でAnsibleをテーマに社内勉強会を開催しました。この記事では、会社の活動紹介を兼ねて、勉強会の様子をレポートします。 秋葉原オフィスと札幌オフィスにいた社員、東京や札幌近郊でリモート勤務中の社員10名以上が、Skype接続して実施しました。写真は、秋葉原オフィスの会議室に集まったAWSチームメンバーです。 今回の講師は植木さんでした。植木さん自身も上越からのリモート参加で、Skypeを使って画面共有しながら説明とデモを実施してくれました。上の写真で皆がディスプレイをい入るように見ているのは、そのためです。 Ansibleの説明 デモンストレーション Ansibleをインストールする brew install ansible ssh/configを作成する ここで.ssh/configを自動生成

    AWSチーム社内勉強会「Ansible」レポート | DevelopersIO
  • GitHub - shkumagai/ansible-doc-ja

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - shkumagai/ansible-doc-ja
  • docker上のコンテナをansibleで構成管理する - tjinjin's blog

    いまだに手動で環境構築する会社が嫌になってきたので、Web界隈の 技術を試してみたくて触ってみました。自分用メモです。 chef等と違い、エージェントのインストールなどがいらないため、会社でも もしかしたら使えるかもしれないですね。 前提 ホストOS(windows)上にvagrantを使ってCentOS(管理サーバとする)を構築。 dockerを使ってnodeをn台作成し、ansibleで構成管理してみる。 管理サーバの構築 Vagrantは既にインストールされているとします。 boxfileの追加 今回はCentOS6.5を使います。 vagrant add centos6.5 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box vagran

    docker上のコンテナをansibleで構成管理する - tjinjin's blog
  • ansible個人的メモ&Tips - Qiita

    ansibleを使い始めたので覚えておきたいことを個人的にメモ。 尚、家のドキュメントしか情報ソースにしていません。家のドキュメントは素晴らしく優秀です。 http://docs.ansible.com/ タスクのinclude includeでタスクを一纏めにして外部ファイルに書ける。これは、whenを付けてある条件時にのみ実行が可能。

    ansible個人的メモ&Tips - Qiita
  • Ansibleのplaybookからコピペをなくすset_factモジュールの使い方 - Qiita

    よくある課題 Ansibleで条件分岐させるにはplayの中でwhen句を使用する。 1つのtrue/falseの条件があってそれぞれ実行させたいものが違う場合はplayを2つ書くことになる。 しかし正直、普通のプログラム言語ならif-elseで書けるところをplayを2つ並べないとならないというのはいささか美しさに欠ける。実行させたいものが全く違うならまだ良いが、ほとんど一緒なら尚更だ。そのほとんど一緒な部分を修正したくなったら2箇所直さなければならない。 それでも2つならとは思わなくないが、さてtrue/falseの条件分岐が3つあったとしよう。playを8つ書けって? それは勘弁して欲しい。 そんな悩みをある程度解決するのがset_factモジュールである。 set_factの使い方(基編) set_factは変数に値をセットするモジュールである。 この値はスカラーでもシークエンス

    Ansibleのplaybookからコピペをなくすset_factモジュールの使い方 - Qiita
  • Ansible トラノマキ

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Ansible トラノマキ
  • ansible-doc-ja/playbooks2.rst at master · shkumagai/ansible-doc-ja

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    ansible-doc-ja/playbooks2.rst at master · shkumagai/ansible-doc-ja
  • [Ansible] コマンドの実行結果に応じて別のコマンドを実行するかしないかを制御する - Qiita

    2015-08-30追記 この記事のストック数が100になって、さらに読まれそうなので補足です。 すみません、この記事の例はちょっとよくなかったです。yumのレポジトリのキーをインストールするにはAnsibleの rpm_keyモジュールが用意されているので、これを使うほうが楽です。 以下の記事は、モジュールが用意されていなくて、状態をチェックするコマンドと変更するコマンドの2つで実現するときの話だと思って読んでください。 今ではfailed_whenでスッキリ書けます (2013-10-08追記) Add failed_when module variable. by hnakamur · Pull Request #4073 · ansible/ansibleによりfailed_whenが追加されました。failed_whenについてはControlling What Defines

    [Ansible] コマンドの実行結果に応じて別のコマンドを実行するかしないかを制御する - Qiita
  • Ansibleのshellモジュールをchanged_whenと組み合わせて柔軟に - Qiita

    ふつうにshell叩くと常に実行されてchanged=1になり気持ち悪い. changedになる条件をchanged_whenで定義することが出来る. tasks: - name: install python-apt shell: LC_ALL=en_EN.UTF-8 sudo apt-get install -y python-apt register: result changed_when: '"is already the newest version" not in result.stdout' - debug: var=result ポイント commandではなくshell moduleを使う. commandだとchanged_when行でerror while evaluating conditionalとエラーが発生 日語出力だとマッチさせにくいのでLC_ALL=e

    Ansibleのshellモジュールをchanged_whenと組み合わせて柔軟に - Qiita
  • inforno :: Ansibleのツボ

    ようやく自宅サーバや開発環境仮想マシンの構築手順を Ansible 化した。 この手のツールはハマりポイント+よく使うイディオムを抑えるのが大事。Pythonプロダクトらしく非常にドキュメントが充実しているのだけど、充実しすぎているのでポイントを自分のためにもまとめておくことにする。 例はおもに Ansible のドキュメントから引用させていただきました。 設定ファイルを書きかえる(一行) lineinfile モジュールを使う。使い方は以下のような形になる。 1name: enalbe sudo without password if user belongs to the wheel group 2lineinfile: "dest=/etc/sudoers state=present regexp='^%wheel' line='%wheel ALL=(ALL) NOPASSWD:

  • Ansible オレオレベストプラクティス - Qiita

    多種多様な構成のサーバーを Ansible で管理する場合、単一のベストプラクティスツリーに押し込むのは管理が大変すぎて現実的ではないなとおもい、どうしたものかなと悩んでいました。で、最近やっとこれかなという構成ができたので共有してみます。 何が問題か? ロールには共用できるものとできないものがある、それがいっしょこたに混ざるのが嫌 無理に共用できるようにと変数を多用するととても管理が大変。変数も覚えられないし、テストが大変 読み込むファイルのパスが大元のymlからの相対パスであり、include ではディレクトリ階層での整理が難しい -l で対象サーバーを絞り込んでも全てのタスクが表示され、skipped, skipped, skipped と関係ない task 表示がターミナルが埋まって見づらい そして、たどり着いたオレオレベストプラクティス まとめて管理したいサーバーグループ毎にベス

    Ansible オレオレベストプラクティス - Qiita
  • Ansibleちょっとしたメモ - Qiita

    Advent Calendar初参加です。よろしくお願いします。 Ansibleを使い始めてほんの2ヶ月程度ですが、その中で得たちょっとしたことを自分のメモも兼ねて並べていきます。 with_itemsに配列の変数を渡す - hosts: test_server vars: items: - "hello world!" - "I love cats" - "I love dogs" tasks: - name: "echo list item" command: echo {{item}} with_items: items varsで変数を定義する時に、リストで定義します。with_itemsでvarsで宣言した変数を{{}}なしで指定します。(なんでこの場合は{{}}なしなのか・・・) あるタスクだけユーザをスイッチする [remote_user]を使用すると、任意のユーザにswit

    Ansibleちょっとしたメモ - Qiita
  • Ansibleの基礎 - Qiita

    CentOS6での利用方法 CentOS(ホスト) -> CentOS(リモート側) 予備知識 AnsibleはSSHでリモート側にログインしてコマンド類を叩く設計になっています。 そのため、リモート側でSSHログインができるようにしておきましょう。 (念のため、ログインするユーザと、コマンドを実行するユーザを別にすることも可能です) インストール rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm yum install ansible -y 実行確認 アクセス先のホストは192.168.1.20、アクセスユーザはrasennとします。 鍵認証でアクセスするなら(パスワードなしsshができれば)--ask-pass --ask-sudo-passは必要なく、パスワード

    Ansibleの基礎 - Qiita
  • Ansible チュートリアル | Ansible Tutorial in Japanese

    Ansible Tutorial July Tech Festa にて開催されたハンズオンの資料が公開されていたことに刺激され、Chef の代わりに Ansible を使う資料を作りました。 Ansible を使って WordPress サーバーのセットアップを行い、ServerSpec でテストを行います。 まだ Ansible を試し始めたばかりで自分の勉強がてら書いています。 Puppet にも Chef にも乗り遅れたので Ansible に飛び乗ってみようかと。 GitHub Repository Ansible Tutorial Wiki 2013年08月13日 一段落 コピペで動かないところを全体的に修正しました。今後は 詳細ページ Wiki を充実させていきます 2013年09月09日 role についての追記しました 2013年12月22日 リニューアル Ansible

  • 構成管理ツール Ansible を使ってみる - akishin999の日記

    最近は話題のサーバ構成管理ツール Ansible を試したりしています。 Ansible 自体は Python 製ですが、使うに当たっては特に Python の知識は必要とされる事もなく、定義ファイル(Playbook)も YAML ファイルなので気軽に始める事ができました。 また、Capistrano などと同じく SSH で対象サーバに接続さえ出来ればいい、という仕様なので、サーバに余計なパッケージを入れずに済むのも嬉しいです。 その点も Chef や Puppet などより個人的には好みですね。 検証環境は CentOS 6.4 x86_64 になります。 インストール インストールには Python 2.6 以上が必要です。 CentOS 6 系であれば yum で普通に入れれば 2.6 系が入るはずなので問題ないかと思います。 # python -V Python 2.6.6 E

    構成管理ツール Ansible を使ってみる - akishin999の日記
  • Ansibleを使って誰でも簡単安全にサーバ構築できる仕組みを作る - (゚∀゚)o彡 sasata299's blog

    2014年08月04日11:11 インフラ Ansibleを使って誰でも簡単安全にサーバ構築できる仕組みを作る Ansible って何なの? サーバに対してミドルウェアのインストールや設定等の環境構築を行うことをプロビジョニングと言いますが、その作業を自動化させるためのツールです。プロビジョニングを手動で行うと、手間も掛かるし、どうしてもミスが起こりえます。 その点、Ansible のようなツールを使えば、コマンド一発でプロビジョニングが走り、さらに冪等性(何度実行しても同じ結果になる)も確保されるため、誰でも簡単安全にサーバ構築が出来るのです。 同様のことを行うツールとして、Chef や Puppet がありますが、Ansible はそれらの中でもシンプルなことが特徴です。Chef は以前使ってみようと思い触ってみたのですが、覚えることが多かったりして挫折してしまった。。Ansible

    Ansibleを使って誰でも簡単安全にサーバ構築できる仕組みを作る - (゚∀゚)o彡 sasata299's blog
  • ansibleでmoduleを作ってみる — そこはかとなく書くよん。 ドキュメント

    ansibleでmoduleを作ってみる¶ 引き続きansibleです。今回はmoduleを作ってみます。 ansibleのmoduleはplaybookではカバーしきれないものをmoduleにする、という 感じで切り分けるといいそうです。 また、標準で使えるモジュールは ここ にあります。たくさんありますね。 ansibleの人たちはPythonのように"battery included"を目指しているとのこと です。でも、名前空間を導入してもうちょっと整理したりメタなモジュールを 用意したほうがいいんじゃないかなぁとか思ったりします。 モジュールの概要¶ モジュールは標準出力を出すものであればどんな言語で書かれようと構いませ ん。標準のモジュールはshell scriptとpythonですが、rubyだろうとperlだろ うと構いません。 標準出力はJSONです。JSONライブラリがな

  • 1