GAGA LIFE.

インフラエンジニアブログ

スポンサーリンク

Ansible事前準備

概要

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

スポンサーリンク