LoginSignup
4

More than 5 years have passed since last update.

Ansible

Last updated at Posted at 2018-05-28

Ansible

公式サイト

Ansible
ドキュメント

Ansibleとは

  • OSSの構成管理システム
  • シンプルな構造

Ansibleの環境構築

  • Ansible2.7:2019/01/25時点に更新

管理ホスト

  • OS:Linux, Mac
  • Python 2.6+ (Python 3.x is not supported)
  • Python 2.7 or Python 3.5+

被管理ホスト

  • OS:Linux, Mac, Windows
  • Python 2.5+ (Python 3.x is not supported) (2.4 + python-simplejson)
  • Python 2.6+ or Python 3.5+

Ansibleの構成要素

インベントリ (inventory)

  • 被管理ホストへの接続情報を記述するファイル
  • グループ管理も出来る
hosts
  [web]
  www.example.com ansible_user=demo1 ansible_ssh_pass=p@ssw0rd1
  www.example.net ansible_user=demo2 ansible_ssh_pass=p@ssw0rd2

パラメータ 意味 デフォルト
ansible_host エイリアス
ansible_port SSH接続先のポート 22
ansible_ssh_private_key_file 秘密鍵のファイルパス
ansible_become_pass sudoを実行する際のパスワード
ansible_python_interpreter 被管理ホストのPythonのパス /usr/bin/Python

モジュール (module)

  • ユーザを追加するなどの冪等性を持った操作

ansibleコマンドの実行


  ansible -i {イベントファイルのパス} {対象ホスト} -m {モジュール名}


  ansible -i hosts all -m ping

パラメータ 意味 デフォルト
--user ユーザ名 被管理ホストでコマンドを実行するユーザ ansible_user > ansibleコマンドを実行したユーザ
--ask-pass SSH接続時にパスワードを要求 ansible_ssh_pass
--become モジュールをsudoで実行 -
--ask-become-pass sudoで実行するためのパスワードを要求 ansible_become_pass

プレイブック (playbook)

  • DBサーバを作るなどの目的の為にモジュールを組み合わせて作った手順書
  • YAML形式で記述
pb1.yml

  - hosts: all
    become: yes
    become_user: root
    tasks:
      - user: name=demo
      - copy: src=/home/hoge/fuga.txt dest=/home/demo/

プレイブックの実行


  ansible-playbook -i hosts pb1.yml

その他

  • 下書きが一杯になったので、とりあえず(中途半端な内容ですが、、、)投稿します。

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
4