ansible で ubuntu の設定(初期設定)

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から
ブリッジアダプターに変更

ansible

次に

1
ifconfig

でIPアドレスを確認

ansible2

次に ssh で実際に接続できるかを確認

ユーザ名が同じなら

1
ssh 192.168.128.178

というように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
ssh-keygen -t rsa

を実行すると

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
vim ~/.ssh/config

で設定ファイルを作成し

1
2
Host develop
 HostName 192.168.128.178

とすることで
IPアドレスではなく、develop でアクセスできるようにします

1
ssh-copy-id 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:

これで成功するとログインするときに

1
ssh develop

とするだけでパスワードなしでログインができるようになります

ログインできたら
ctrl + d でログアウトしておきます

次に接続に必要なインベントリファイルを作成します

1
vim hosts

でインベントリファイルを作成します

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
と表示されるので注意

成功すると文字が緑色で表示されます

ansible3

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です