2016年5月29日日曜日

ansible.cfgの参照順序

ANSIBLE_INVENTORY: 対象ホストを指定するホストファイル(?)を指定する。
 指定しておかないと、
[WARNING]: provided hosts list is empty, only localhost is available
やら
skipping: no hosts matched

のエラーが出る。 どっちがどんな条件で出るかは忘れた。

export ANSIBLE_INVENTORY=ホストファイルのフルパス
上記間違いです。

ansible.cfgをいろいろ使い分けたい場合に使う?
ちなみにansible 1.5よりも後のもの対象。

ansible.cfgの参照順序

  1. ANSIBLE_CONFIG(環境変数)
  2. カレントディレクトリ(./ansible.cfg)
  3. ホームディレクトリの隠しファイル?(~/.ansible.cfg)
  4. /etc/ansible/ansible.cfg





(備忘録) DNSをLinuxで指定する

CentOS 6.xでDNSを指定する。


/etc/sysconfig/network/ifcfg-{インタフェース名}にDNS1とDNS2を設定。
あたいには、Googleのpublic DNSを指定する。

DEVICE="eth0"
BOOTPROTO="dhcp"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="f943ed1a-bc9c-4660-b021-101714e6e29f"
DNS1=8.8.8.8
DNS2=8.8.4.4

設定したらネットワークを再起動させる。

sshで公開鍵認証設定&パスなしログインを行う

Ansibleで色々と作業をするので、ansibleユーザで公開鍵認証できると嬉しい。
そこで、作業を行った。

ひとまずできるようにしているだけで、設定として適切とか
セキュリティ的な側面で問題ないかといったことは一切考えてないので注意。

<1>公開鍵を使ったパスなしログイン
1. 事前作業
公開鍵でログインできるようにする準備。

(1) sshでログイン
 ssh ansible@ホスト名
(2) .sshディレクトリを作成
 mkdir .ssh
 chmod 700 .ssh
(3) authorized_hostファイルを作成
 touch .ssh/authorized_keys
 chmod 600 .ssh/authorized_keys

2. 公開鍵をauthorized_keysに追加する
 cat ~/.ssh/id_rsa.pub | ssh ansible@ホスト名 'cat >> .ssh/authorized_keys'

ここまでで、一旦パスなしでのログインは実現

<2>sudo権限のansibleユーザへの付与
(1) sshでログイン
 ssh rootになれるユーザ@ホスト名
   sudo su -
(2) /etc/sudoers.d配下にファイルを作る
   vi /etc/sudoers.d/ansible
        (ファイルを作成)
   chomod 600 /etc/sudoers.d/ansible

(/etc/sudoers.d/ansibleの内容)
Defaults !requiretty

ansible         ALL=(ALL)       NOPASSWD: ALL