LoginSignup
2
5

More than 5 years have passed since last update.

ansibleで登場する概念的なやつの個人的メモ

Posted at

これは何?

私の技術メモです。

概要

  • ansibleホストから管理したいサーバやサーバ群に対して自由に操作を発行できる
  • 構成管理ツールというよりサーバに関わる定例作業やシステム関連のタスクの自動化ツールといったほうが良い印象
  • 構成管理される側にはansible用に特別なものが必要ない・エージェントレス
  • 冪等性

前提

  • ホスト、管理対象サーバ共にpythonは必要
  • ansibleの管理サーバから管理対象のサーバへはssh接続可能であること

構成要素

  • hosts(inventory)
    • ansibleで管理対象とするサーバやサーバをグループ化した定義を書く
    • ansible-playbookのdefault実行時の参照場所は/etc/ansible/hosts
  • ansible.cfg
    • inventoryの位置を指定したり、対象ホストによって読み替える必要のある設定を書く
  • playbook
    • どのホストにどのモジュールを実行するかの組み合わせ
    • yaml形式
    • play領域
      • hosts
      • remote_user : 操作実行ユーザ
      • become : sudo実行
      • order : hostsへの実行順序。デフォルトはinventoryの定義順
      • vars : 変数宣言し、{{変数名}}で呼べるようにする
      • tasks
        • task領域 : taskを並べて書く。基本的は-name+moduleの組み合わせ
        • task領域だけを別ファイルに切り出してincludeすることもできるらしい
          • name : タスク名
          • module : モジュール
          • notify : このタスクで何らかの変更があると、handlersを実行
      • handlers
        • taskのnotifyでなんらかの変更が行われると、最後に一回だけ呼ばれる
        • notifyで変更が無かった場合は実行されない

モジュール

  • tasksに設定されるモジュール。
    • user
    • yum
    • service
    • file
    • copy
    • with_items : 他のモジュールと併用する。あるモジュールに渡すnameを複数並べて記載することで冗長な表現を避けられる
    • notify
    • mysql_db
    • mysql_user
    • ini_file : ファイル編集
    • shell : 既存のモジュールで対応できない場合にshellを書く
    • unarchive
    • get_url

role

  • 役割をできるだけ最小単位にして定義する。例:ミドルウェア単位とか
  • rolesディレクトリ配下に、role毎に名付けたディレクトリを切る。各々がmain.ymlを持つ
  • メインとなるplaybookから、基本的なroleについてはこれらが呼ばれてあてがわれる
    • tasks
      • 必須。taskの定義
    • files
      • copyでセットアップされるファイルを配置
    • templates
      • templateでセットアップされるテキストファイルを配置
    • vars
      • 変数を定義します。 基本的に環境毎に変わる固定値など
    • defaults
      • 変数の初期値。
    • handlers
      • 特定taskに対してnotifyし、実行したいイベント
    • meta
      • Roleのメタ情報。roleの依存関係?

(コマンド)ansible-playbook

  • playbookをもとに実行する、ansibleの核となるコマンド
  • オプション
    • --syntax-check : 記法のチェック
    • --list-task : taskの一覧を表示
    • --check : 実際には変更しない、どうなるかをシミュレートする
      • --check -v : デバッグ的な情報を表示する。vを重ねる度に詳細になる
2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5