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

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

最近、ノートパソコンでログインできなくなったため
今度開発環境などを設定するときに
効率的にできるように
Ansible で設定するようにします

まずはテストとして
Virtualbox で Ubuntu 14.04 6bit をインストール
これに実験していきます
ansible install

まずは Ansible をインストールするため

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ファイルの基礎知識

を参考に
コメントアウトは
行頭に ; で行うことになる

インベントリファイルができればとりあえずは実行はできる

ファイルをまとめてわかりやすくするため

mkdir ansible_test
cd ansible_test/

として、ファイルの置き場を作成しておきます

次に実験で Virtualbox にインストールした
仮想マシンへ行うけど
インストールしたばかりの ubuntu では
ssh での接続ができないため
virtualbox 側の ubuntu にログインし
端末を ctrl + Alt + t で起動し

sudo apt-get install openssh-server

で ssh 接続できるようにする

次にネットワーク設定を
NATから
ブリッジアダプターに変更

ansible

次に

ifconfig

でIPアドレスを確認

ansible2

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

ユーザ名が同じなら

ssh 192.168.128.178

というようにIPアドレスをいれれば
パスワードを聞かれるので、合っていれば接続できる

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 での接続ができるのを確認できたので
公開鍵認証でインストールできるようにします

ssh-keygen -t rsa

を実行すると

Generating public/private rsa key pair.
Enter file in which to save the key (/home/snowpool/.ssh/id_rsa): 

となりファイル名を求められます
そのままだと id_rsa になります

今回は ansibleにします

次に

Enter passphrase (empty for no passphrase): 

となりパスワードを設定するのですが
空欄でもOKです
とりあえずパスワードは練習ということでなしです

すると

Enter same passphrase again: 

となり。確認のためもう一回いれてと言われますので
もう一回入力します

これで
ansible
ansible.pub
の2つのファイルが作成されます

この.pub がついている方を
仮想マシンに転送します

その前に、転送するときにIPを毎回うつのは面倒で
間違えやすいので

vim ~/.ssh/config

で設定ファイルを作成し

Host develop
 HostName 192.168.128.178

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

ssh-copy-id develop

とするとコピーできるのですが
このときにログインパスワードを求められます

/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: 

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

ssh develop

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

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

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

vim hosts

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

[develop]
;install ip address
192.168.128.178

というように
[グループ名]
というようにわけることができます

まずは実験で、システムの稼働時間を表示する
uptime コマンドを実行

uptime コマンドについては
http://cmd.misty.ne.jp/refference/uptime.html
を参考に

ansible all -i hosts -m command -a "uptime"

とすると
対象ファイル、今回なら
ubuntu 14.04 で uptime コマンドが
実行されます

-i hosts というようにインベントリファイルを
指定しないと
No hosts matched
と表示されるので注意

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

ansible3

コメントを残す

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