Ansible/初心者向けAnsible入門講座/インストール・初期設定


Ansibleはクライアント側には特別な物は何もインストールする必要が無いそうです。すごいですね!

ということでサーバー側の手順です。

とりあえずepelをインストールします。
# rpm -ivh http://mirrors.isu.net.sa/pub/fedora/fedora-epel/7/x86_64/e/epel-release-7-6.noarch.rpm
ファイルが見つからない場合はepelのサイトに行って探してきてください。

Ansibleをインストールします。
# yum install ansible

ホストのリストファイルを編集します。
yumでインストールした場合は /etc/ansible/hosts に作成されています。
英文コメントで説明が書かれているのでなんとなくは分かると思いますが、基本的にはホスト名やIPの羅列で、[]でグループ名を記述することもできるようです。
192.168.0.100
192.168.0.101

[webservers]
192.168.0.200
192.168.0.201

ansibleではsshkeyを使ったログインによりホストを操作するようなので、sshkeyを作成します。
# ssh-keygen -t rsa
悪用されないように念のためパスフレーズを入れておきましょう。

作成したらパブリックキーをホストへ登録します。
/root/.ssh/id_rsa.pub の内容を、ホストの /root/.ssh/authorized_keys に登録します。
authorized_keysを新規で作る場合はパーミッションを 600 などにすることを忘れないようにして下さい。
なおこの作業だけは手で行う必要がありますが、capistranoを使うことである程度は自動化することが可能です。
自動化に興味がある場合はこちらのページなどをご確認下さい。

さて、鍵登録が終わったらsshkeyのパスフレーズを使用してログインできることを確認しておきます。
# ssh 192.168.0.100

ログインできたら一旦ログアウトし、ansibleコマンドの確認のためssh-agentを使って予めshellに鍵を持たせます。
# ssh-agent bash
# ssh-add
Enter passphrase for /root/.ssh/id_rsa: (パスフレーズを入力する)
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

そして確認のコマンドを実行します。
# ansible all -m ping
192.168.0.100 | SUCCESS => {
   "changed": false,
   "ping": "pong"
}
192.168.0.101 | SUCCESS => {
   "changed": false,
   "ping": "pong"
}
192.168.0.200 | SUCCESS => {
   "changed": false,
   "ping": "pong"
}
192.168.0.201 | SUCCESS => {
   "changed": false,
   "ping": "pong"
}
SUCCESSになっていたら成功です。
とりあえず動作させることはできたようです。

なおこのansibleコマンドの意味は、all を与えるとhostsファイルに書かれた全てのホストに対して実行するという意味になり、-m ping はpingモジュールを実行するという意味になるようです。



  • 最終更新:2016-07-11 18:31:43

このWIKIを編集するにはパスワード入力が必要です

認証パスワード