プレイブックの実行

プレイブックの準備が出来たら実際に実行してみます。


事前確認


ansibleを対象サーバに実行する前に条件があります。

  • 対象サーバに実行環境からSSHでログインする事ができる。
  • SSHログインしたユーザーはroot、またはroot権限を得ることが出来る。
  • yumや名前解決など、対象サーバは外部インターネットと繋がることができる。

これらを再度確認し満たしている必要があります。

疎通確認
定義した対象サーバに繋がるか疎通確認を行います。
引数に読み込むホスト定義ファイル、ホストグループを指定します。

$ ansible -i hosts/production production -m ping -k -c

実行タスク一覧の確認
実行するプレイブック内で定義されているタスク一覧を確認。

$ ansible-playbook -i hosts/production provisioning.yml --list-tasks

構文チェック
実行前に構文エラーが無いか確認。

$ ansible-playbook -i hosts/production provisioning.yml --syntax-check

DryRunを試す事でSSH認証から構文チェックまでを一機にテストもできる。
※実際のインストールや変更は行われないので、プレイブックの書き方によってはエラーになることも。

$ ansible-playbook -i hosts/production provisioning.yml -u ssh_user -C -k


Ansibleの実行


以上の準備が出来たところでプレイブックを実行します。
ここでは対象サーバへはrootでログインは出来ないため、
sudoによりroot権限を得てansibleを実行するようにする。

プレイブック内にsudo実行する事を定義しています。

# vim provisioning.yml
# [Production]
- name: Prod default Settings
  hosts: production
  become: yes

実行
本番環境に対してsudo(パスワードあり)実行。

$ ansible-playbook -i hosts/production provisioning.yml -u ssh_user -s --ask-sudo-pass -k

上記で実行するとsshパスワード、sudoパスワード両方聞かれて実行されるようになります。

ssh鍵を利用する場合は下記のように

$ ansible-playbook -i hosts/production provisioning.yml -u ssh_user --private-key=/path/id_rsa -s --ask-sudo-pass -k

以上で手順は終了になります。

results matching ""

    No results matching ""