ansible で ubuntu の設定(初期設定)
最近、ノートパソコンでログインできなくなったため
今度開発環境などを設定するときに
効率的にできるように
Ansible で設定するようにします
まずはテストとして
Virtualbox で Ubuntu 14.04 6bit をインストール
これに実験していきます
ansible install
まずは Ansible をインストールするため
1 2 3 | sudo apt-add-repository ppa:rquillo /ansible
sudo apt-get update
sudo apt-get install ansible
|
でインストール
Ansibleを使うには
インベントリファイル
対象ホストをまとめたもの
playbook
taskとよばれる操作をまとめたもの
ansible.cfg
Ansible の設定を記述したもの
この3つが必要
インベントリファイルは
ini形式で記述する
このファイル形式については
INIファイルの基礎知識
を参考に
コメントアウトは
行頭に ; で行うことになる
インベントリファイルができればとりあえずは実行はできる
ファイルをまとめてわかりやすくするため
1 2 | mkdir ansible_test
cd ansible_test/
|
として、ファイルの置き場を作成しておきます
次に実験で Virtualbox にインストールした
仮想マシンへ行うけど
インストールしたばかりの ubuntu では
ssh での接続ができないため
virtualbox 側の ubuntu にログインし
端末を ctrl + Alt + t で起動し
1 | sudo apt-get install openssh-server
|
で ssh 接続できるようにする
次にネットワーク設定を
NATから
ブリッジアダプターに変更

次に
でIPアドレスを確認

次に ssh で実際に接続できるかを確認
ユーザ名が同じなら
というようにIPアドレスをいれれば
パスワードを聞かれるので、合っていれば接続できる
1 2 3 | The authenticity of host '192.168.128.178 (192.168.128.178)' can't be established.
ECDSA key fingerprint is ce:92:27:fe:a3:9b:3b:bb:1d: df :89:7e:45:ae:e4:00.
Are you sure you want to continue connecting ( yes /no )?
|
と聞かれるので yes を入力
これでログインできれば成功なので
ctrl + d でログアウト
ssh での接続ができるのを確認できたので
公開鍵認証でインストールできるようにします
を実行すると
1 2 | Generating public /private rsa key pair.
Enter file in which to save the key ( /home/snowpool/ . ssh /id_rsa ):
|
となりファイル名を求められます
そのままだと id_rsa になります
今回は ansibleにします
次に
1 | Enter passphrase (empty for no passphrase):
|
となりパスワードを設定するのですが
空欄でもOKです
とりあえずパスワードは練習ということでなしです
すると
1 | Enter same passphrase again:
|
となり。確認のためもう一回いれてと言われますので
もう一回入力します
これで
ansible
ansible.pub
の2つのファイルが作成されます
この.pub がついている方を
仮想マシンに転送します
その前に、転送するときにIPを毎回うつのは面倒で
間違えやすいので
で設定ファイルを作成し
1 2 | Host develop
HostName 192.168.128.178
|
とすることで
IPアドレスではなく、develop でアクセスできるようにします
とするとコピーできるのですが
このときにログインパスワードを求められます
1 2 3 | /usr/bin/ssh-copy-id : INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id : INFO: 2 key(s) remain to be installed -- if you are prompted now it is to install the new keys
snowpool@192.168.128.178's password:
|
これで成功するとログインするときに
とするだけでパスワードなしでログインができるようになります
ログインできたら
ctrl + d でログアウトしておきます
次に接続に必要なインベントリファイルを作成します
でインベントリファイルを作成します
1 2 3 | [develop]
; install ip address
192.168.128.178
|
というように
[グループ名]
というようにわけることができます
まずは実験で、システムの稼働時間を表示する
uptime コマンドを実行
uptime コマンドについては
http://cmd.misty.ne.jp/refference/uptime.html
を参考に
1 | ansible all -i hosts -m command -a "uptime"
|
とすると
対象ファイル、今回なら
ubuntu 14.04 で uptime コマンドが
実行されます
-i hosts というようにインベントリファイルを
指定しないと
No hosts matched
と表示されるので注意
成功すると文字が緑色で表示されます
