概要
Ansibleで動作確認する前の事前準備
事前準備
- Ansibleユーザー作成
- SSH公開鍵認証の設定
- 作業ディレクトリの作成
- ansible.cfg設定
Ansibleユーザー作成
Ansibleユーザー(一般ユーザー)を作成。必要に応じて特権を付与
※ここではユーザーansibleを作成
# useradd ansible
SSH公開鍵認証の設定
SSHを使用してターゲットノードに接続を実施しますが、公開鍵認証方式を利用します。
コントロールノードがターゲットノードに接続するため、コントロールノード側で秘密鍵と公開鍵を作成し、
ターゲットノード側に公開鍵を登録します。
ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/ansible/.ssh/id_rsa): Created directory '/home/ansible/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/ansible/.ssh/id_rsa. Your public key has been saved in /home/ansible/.ssh/id_rsa.pub. $ ssh-copy-id -o StrictHostKeyChecking=no -i $HOME/.ssh/id_rsa.pub localhost /bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/ansible/.ssh/id_rsa.pub" /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys ansible@localhost's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh -o 'StrictHostKeyChecking=no' 'localhost'" and check to make sure that only the key(s) you wanted were added. $ ssh-copy-id -o StrictHostKeyChecking=no -i $HOME/.ssh/id_rsa.pub [ターゲットノード]
作業ディレクトリの作成
コントロールノード
$ mkdir -vp PATH_TO/effective_ansible/sec2/inventory/ mkdir: ディレクトリ `PATH_TO' を作成しました mkdir: ディレクトリ `PATH_TO/effective_ansible' を作成しました mkdir: ディレクトリ `PATH_TO/effective_ansible/sec2' を作成しました mkdir: ディレクトリ `PATH_TO/effective_ansible/sec2/inventory/' を作成しました
ansible.cfg設定
Ansibleの設定ファイルであるansible.cfgは、配置場所によって読み込まれる優先順位が異なるようです。
以下の順序でansible.cfgを検索します。
1.環境変数(ANSIBLE_CONFIG=/usr/local/ansible/conf/ansible.cfg)
2.カレントディレクトリに存在する設定(./ansible.cfg)
3.ホームディレクトリに存在する設定($HOME/.ansible.cfg)
4./etc/ansible/ansible.cfg
- OSパッケージマネージャからのインストール:/etc/ansible/配下にデフォルトで配備
- pipやソースコードからのインストール:設定ファイルは存在しない
基本的にはホームディレクトリ($HOME/.ansible.cfg)に配置するのが良いようです。
$HOME/.ansible.cfg
[default] # some basic default values... forks = 15 log_path = $HOME/.ansible/ansible.log host_key_config = False gathering = smart