タグ

ブックマーク / tdoc.info (7)

  • DockerコンテナでAnsibleをテストする — そこはかとなく書くよん。 ドキュメント

    DockerコンテナでAnsibleをテストする¶ Ansible 2.0になり、Docker connection pluginが標準で入りました。これにより、Docker内にsshdを立てることなくAnsibleを直接実行できるようになりました。 すでに導入されている方も多く、かなり今更ではありますが、Dockerコンテナに対してAnsibleを実行してテストする方法についてここに記します。 参考GitHubリポジトリ Dockerに対する場合の制限¶ まず最初にAnsibleをDockerコンテナに対して実行する際の制限についてです。 基的にはすべての機能が使えます。ただ、以下の制限があります。 /etc/hosts, /etc/resolv.conf, /etc/hostnameは書き換えできない これらのファイルはDockerがbind mountしており、書き換えられるが、置

  • Ansible Docker Connection Pluginを使う — そこはかとなく書くよん。 ドキュメント

    Ansible Docker Connection Pluginを使う¶ 1年以上前の2014年4月にこんな記事を書きました docker containerに対して直接ansibleを実行する それからいろいろあって、Ansible 2.0では標準でDocker Connection Pluginが入っています。(といってもぼくの実装ではありませんが) Docker Connection Pluginとは¶ まず、 Connection Plugin について説明します。Ansibleでは通常SSHを使って対象となるホストに接続します。 しかし、 Connection Plugin を使うことで、接続方式を切り替えることができます。 代表的なものは local connection です。以下のように書くと、sshではなく、localhostでそのまま実行されます。sshのlocalho

  • 書評: 初めてのAnsible — そこはかとなく書くよん。 ドキュメント

    書評: 初めてのAnsible¶ 「初めてのAnsible」 というがオライリージャパンから発売されました。そのを頂いたので、読んでみました。 結論¶ 結論から述べますと、このは「初めての」と付きますが、これから使いたい人だけでなく、今現在も使っている人にとっても買うべきだと思います。 Ansibleの実行方法、Playbook、Task、InventoryといったAnsibleを使う上での重要なところが一から順序良く書かれており、すぐに理解できるようになると思います。そういう点で初心者向けです。 それでいて、かなり注釈が多く、初心者向け、ということだけではなく、YAMLの引っかかりやすい文法上の問題や、 localhost が暗黙的にinventoryに追加されるというような細かいところまできちんと書いており、現在使っている人に取っても有意義だと思います。特に、筆者はこう考えてこ

  • Ansible 1.9がリリースされました — そこはかとなく書くよん。 ドキュメント

    Ansible 1.9がリリースされました¶ 2015年3月25日にAnsible 1.9がリリースされました。結構な量が追加・変更されていますので、ここでリリースノートを訳してみなさまのお役に立てればと思います。 基的に互換性が確保されていますので、playbookを書きなおす必要はないと思います。ただし、gitモジュールなどのバージョン管理システム用のモジュールでローカルに変更があると失敗するという、安全側に倒した変更がされていますので、その点でplaybookを変更する必要があるかもしれません。 なお、1.9は1系の最後のリリースとなります。大幅に書きなおされたAnsible 2.0は近いうちに出る予定です。 リリースURL: https://github.com/ansible/ansible/blob/devel/CHANGELOG.md#19-dancing-in-the-s

  • pipの使い方 (2014/1バージョン) — そこはかとなく書くよん。 ドキュメント

    pipの使い方 (2014/1バージョン)¶ 以前 pipの使い方 と いう記事を書いたのですが、これは2011年の1月と、ちょうど3年前です。これ から随分変わったので、ここでもう一度まとめたいと思います。 pip: http://www.pip-installer.org/ ここで述べているpipのバージョンは1.5です。お使いのpipのバージョンが古い場合は pip install -U pip として、更新してください。 警告 大きな変更点: pip 1.5から"pre"や"b"などがバージョンに付いているパッ ケージはデフォルトで検索やインストールの対象からはずされました。その ため、1.5未満のバージョンのpipでインストールしたパッケージが1.5では 入らない場合があります。 --pre を付けることで、これらのバージョンを入れることができます。

  • Ansibleでの連番ホスト名をつけるなど — そこはかとなく書くよん。 ドキュメント

    --- - hosts: webservers gather_facts: no # noにしておくと捗る tasks: - local_action: module: ec2 (パラメータは一部略しています) instance_type: t2.micro image: "{{ ami }}" # inventory exact_count: 3 instance_tags: role: "{{group_tag }}" # ここちゃんと使えます region: us-east-1 run_once: true # 1.7以降で使えます register: ec2 local_action はansible-playbookコマンドを実行するホストですので、 hostsになにが書いてあろうとも、localhostで実行されます。 ただ、複数のホストが含まれているグループを指定した場合、l

    rsakamot
    rsakamot 2015/01/13
    “採番はwith_indexed_itemsを使うと、{{ item.0 }}にインデックス番号が、{{ item.1 }}にリストの中身が入ります。”
  • Ansible コーディング規約 (の例) — そこはかとなく書くよん。 ドキュメント

    Ansible コーディング規約 (の例)¶ edXgithub上でAnsibleのコーディング規約を公開しています。 https://github.com/edx/configuration/wiki/Ansible-Coding-Conventions このリポジトリは GNU AGPLv3です。翻訳の場合でもおそらく大丈夫だと思いますので、ここで翻訳して公開してみます。 一般¶ YAMLファイル すべてのyamlファイルは2スペースのインデントで、 .yml を拡張子に 付けてください。 変数 jinja変数の形式を使ってください。 $var ではなく {{ var }} です。 jinjaの変数名の前後に空白を入れてください。 {{var}} ではなく {{ var }} です。 環境独自で上書きされる必要がある変数名は全部大文字としてください。 ロール内で完結する変数名は全部

  • 1