LoginSignup
1
3

More than 5 years have passed since last update.

ubuntuサーバをansible制御下に置くための準備

Last updated at Posted at 2018-03-08

centosの時よりも詰まったり準備が必要でした。
今後も何度か行いそうなので、こちらに忘備録を残します。

ubuntu16.04

やること

  • 実行ユーザ作成
  • (nano -> vimにする)
  • ansibleのsudo追加
  • 鍵の設定
  • (~/.ssh/configに追記)
  • python2.7のインストール
  • dry-runのためにpython-aptをインストール

実行ユーザ作成

$ sudo adduser ansible

nano -> vimにする

vimmerが多いところは変えておいてあげると親切です。

$ sudo update-alternatives --config editor

ansibleのsudo追加

構築系の処理は become: yes を使うことが多いので、その際パスワードをなしにsudo使えるようにしておくと良いかもです。

$ vi /etc/sudoers.d/users

#以下を追記
ansible ALL=(ALL)   NOPASSWD: ALL

鍵の設定

ansibleがインストールされているサーバで作成した、該当の公開鍵をクライアントの方に登録します。
以下のコマンドをansibleが入っているサーバから実行。

$ ssh-copy-id -i ~/.ssh/[[対象の公開鍵]].pub ansible@<target_host>

~/.ssh/configに追記

ansibleを実行させた時にスムーズにsshさせるために、クライアントの情報を追記します。
ansibleサーバ: ~/.ssh/config に以下を追記。

host [[対象サーバのホストを記入]]
StrictHostKeyChecking no
IdentityFile ~/.ssh/[[秘密鍵]]

↑最低限の設定

python2.7のインストール

ansibleはデフォルトではpythonの2系を使うので、2.7をインストールします。
最初はpyenvでバージョン管理しようとしたのですが、playbookでsudoのtasksを実行させようとした時にできなかったので、結局普通に2.7をインストールしてパスを書き換えました。
もっと他にいいやり方があるかもしれません..

$ sudo apt-get install python2.7

デフォルトではpython2.7と3.6が入っているらしいですが、minimalインストールの時は2系が入っていなかったので、無ければいれます。

このままだと python2.7 -V のようにしないとコマンドがつかえないので、以下のようにシンボリックリンクを作ります。

$ ls -la /usr/bin/python*
#pythonコマンドがないことを確認してから

$ sudo ln -s /usr/bin/python2.7 /usr/bin/python

#確認
$ ls -la /usr/bin/python
lrwxrwxrwx 1 root root       9 Nov 24 09:52 /usr/bin/python -> python2.7
$ python -V
Python 2.7.12

ちなみにansibleでpython3系を使わせるようにしたい時は、playbook実行時に以下のオプションをつけると動きます。
-e 'ansible_python_interpreter=/usr/bin/python3'

dry-runのためにpython-aptをインストール

これが無ければ --check モードでの実行ができません。

$ sudo apt-get install python-apt

個人的にはよく使うので python-selinuxも入れておく。
(ansibleのaptモジュール使って入れようとすると毎回エラーが出てつまるから。)

以上。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3