狠狠撸

狠狠撸Share a Scribd company logo
Vagrant+Ansibleで
検証環境を簡単構築
社内勉強会資料
2015/06/25
All Rights Reserved Copyright Thirdware Inc.2015 1
?日々の業務で必要な検証環境を簡単に作りたい
?Vagrant + Ansibleで簡単に作ろう
?PC持込でハンズオンでやろう
本日の勉強会
自動でBaculaサーバを
構築する
All Rights Reserved Copyright Thirdware Inc.2015 2
Virtualboxの技術を利用して仮想サーバを作成できる。
プラグインを利用することによりローカル以外にもAWS、Softlayerなどにサーバ
を構築することも可能。
今日使用するVagrantのバージョンは1.7.2
Vagrantって?
All Rights Reserved Copyright Thirdware Inc.2015 3
自動でサーバ構築できるプロビジョニングツールです。
Chef、Puppetなどと同じですがAnsibleは管理するサーバ(構築するサ
ーバ)にクライアントを入れる必要がなくPythonが入っていれば動く点が
大きく違います。
Pythonは大抵のLinuxサーバにはデフォルトで入っています。
また最近はAnsibleと同様にクライアントいらずのツールでItamaeという
ツールもあり盛り上がっているらしいです。
今日使用するAnsibleのバージョンは1.8.2
Ansibleって?
All Rights Reserved Copyright Thirdware Inc.2015 4
用意するもの
?ノートPC
?やる気
?業務後だけど最後まで寝ない気構え
さあ、はじめましょう
All Rights Reserved Copyright Thirdware Inc.2015 5
今日使用するVagrant、Ansibleのファイルを以下からお手持ちのPCに
ダウンロードしてください。
https://github.com/ksawada1979/Bacula-ansible-playbook.git
ファイルをダウンロードしたら以下のコマンドで移動します。
ファイルダウンロード
# cd Bacula-ansible-playbook
あとは3STEPで構築!!
All Rights Reserved Copyright Thirdware Inc.2015 6
Vagrantを実行します。
実行前にviで「Vagrantfile」を修正してください。
IPアドレス部分を環境に合わせて変更してください。
修正したら以下のコマンドで実行します。
Vagrant実行(STEP1)
# vagrant up bacula
All Rights Reserved Copyright Thirdware Inc.2015 7
先ほどVagrantで起動したbaculaサーバに対して共通鍵交換を実行します。
これはAnsbileを実行するために必須となります。
以下のコマンドで実行します。
共通鍵交換(STEP2)
# ssh-copy-id -i /root/.ssh/id_rsa.pub vagrant@<サーバIPアドレス>
あらかじめ共通鍵を作成していない場合は以下のコマンド等で作成してください。
# ssh-keygen –t rsa
All Rights Reserved Copyright Thirdware Inc.2015 8
Ansibleを実行します。
実行前にviで「ansible_hosts」と「role/bacula/vars/main.yml」を修正
してください。
IPアドレス部分を環境に合わせて変更してください。
修正したら以下のコマンドで実行します。
Ansible実行(STEP3)
# ansible-playbook -i ansible_hosts bacula.yml
All Rights Reserved Copyright Thirdware Inc.2015 9
Baculaサーバが構築できたことを確認します。
まずサーバにログインします。
確認しましょう
# vagrant ssh bacula
ログインしたらrootユーザになりbconsoleを実行します。
$ sudo –s
# bconsole
*
コマンドプロンプトが「*」となることを確認します。
All Rights Reserved Copyright Thirdware Inc.2015 10
次にラベルを作成します。
確認しましょう
* label
任意の名前で問題ありません。
* Run
(1を選択しyesを入力)
*
次にバックアップJOBを実行します。
実行した後に「status」コマンドでJOBが終了していることを確認します。
All Rights Reserved Copyright Thirdware Inc.2015 11
Vagrant基本コマンド
コマンド 実行内容
vagrant up 仮想サーバ起動
vagrant ssh <ホスト名> 仮想サーバにログイン
vagrant destroy 仮想サーバ破棄
vagrant status 仮想サーバ状況確認
vagrant halt 仮想サーバ停止
vagrant box list Boxリスト表示
vagrant init vagrant初期化
全てVagrantfileと同じ階層にいる状態で実行します。
All Rights Reserved Copyright Thirdware Inc.2015 12
今回はbacula.ymlに実行内容を記載しています。
中身は非常にシンプルでntp、timezone、bacula、rebootというroleを各自
呼び出して使っています。
role化して部品化することにより汎用性が高まります。
Ansible基礎
All Rights Reserved Copyright Thirdware Inc.2015 13
Baculaのroleは以下の役割があります。
task
インストールするパッケージ、起動するサービス
ファイルのコピーなどを実行します。
templete
修正済みの設定ファイルなどをtempleteとして使用します。
vars
role内で使用できる変数を宣言します。
Ansible基礎
All Rights Reserved Copyright Thirdware Inc.2015 14
?Bitbacketで設定ファイルを共有したい(DRBD,Bacula)
?共有できれば社内ならどこからでも数分で検証環境を構築できる
?Ansibleに興味を持った方role作成にご協力をお願いします
今後の展開

More Related Content

痴补驳谤补苍迟+础苍蝉颈产濒别で検証环境を简単构筑

  • 2. All Rights Reserved Copyright Thirdware Inc.2015 1 ?日々の業務で必要な検証環境を簡単に作りたい ?Vagrant + Ansibleで簡単に作ろう ?PC持込でハンズオンでやろう 本日の勉強会 自動でBaculaサーバを 構築する
  • 3. All Rights Reserved Copyright Thirdware Inc.2015 2 Virtualboxの技術を利用して仮想サーバを作成できる。 プラグインを利用することによりローカル以外にもAWS、Softlayerなどにサーバ を構築することも可能。 今日使用するVagrantのバージョンは1.7.2 Vagrantって?
  • 4. All Rights Reserved Copyright Thirdware Inc.2015 3 自動でサーバ構築できるプロビジョニングツールです。 Chef、Puppetなどと同じですがAnsibleは管理するサーバ(構築するサ ーバ)にクライアントを入れる必要がなくPythonが入っていれば動く点が 大きく違います。 Pythonは大抵のLinuxサーバにはデフォルトで入っています。 また最近はAnsibleと同様にクライアントいらずのツールでItamaeという ツールもあり盛り上がっているらしいです。 今日使用するAnsibleのバージョンは1.8.2 Ansibleって?
  • 5. All Rights Reserved Copyright Thirdware Inc.2015 4 用意するもの ?ノートPC ?やる気 ?業務後だけど最後まで寝ない気構え さあ、はじめましょう
  • 6. All Rights Reserved Copyright Thirdware Inc.2015 5 今日使用するVagrant、Ansibleのファイルを以下からお手持ちのPCに ダウンロードしてください。 https://github.com/ksawada1979/Bacula-ansible-playbook.git ファイルをダウンロードしたら以下のコマンドで移動します。 ファイルダウンロード # cd Bacula-ansible-playbook あとは3STEPで構築!!
  • 7. All Rights Reserved Copyright Thirdware Inc.2015 6 Vagrantを実行します。 実行前にviで「Vagrantfile」を修正してください。 IPアドレス部分を環境に合わせて変更してください。 修正したら以下のコマンドで実行します。 Vagrant実行(STEP1) # vagrant up bacula
  • 8. All Rights Reserved Copyright Thirdware Inc.2015 7 先ほどVagrantで起動したbaculaサーバに対して共通鍵交換を実行します。 これはAnsbileを実行するために必須となります。 以下のコマンドで実行します。 共通鍵交換(STEP2) # ssh-copy-id -i /root/.ssh/id_rsa.pub vagrant@<サーバIPアドレス> あらかじめ共通鍵を作成していない場合は以下のコマンド等で作成してください。 # ssh-keygen –t rsa
  • 9. All Rights Reserved Copyright Thirdware Inc.2015 8 Ansibleを実行します。 実行前にviで「ansible_hosts」と「role/bacula/vars/main.yml」を修正 してください。 IPアドレス部分を環境に合わせて変更してください。 修正したら以下のコマンドで実行します。 Ansible実行(STEP3) # ansible-playbook -i ansible_hosts bacula.yml
  • 10. All Rights Reserved Copyright Thirdware Inc.2015 9 Baculaサーバが構築できたことを確認します。 まずサーバにログインします。 確認しましょう # vagrant ssh bacula ログインしたらrootユーザになりbconsoleを実行します。 $ sudo –s # bconsole * コマンドプロンプトが「*」となることを確認します。
  • 11. All Rights Reserved Copyright Thirdware Inc.2015 10 次にラベルを作成します。 確認しましょう * label 任意の名前で問題ありません。 * Run (1を選択しyesを入力) * 次にバックアップJOBを実行します。 実行した後に「status」コマンドでJOBが終了していることを確認します。
  • 12. All Rights Reserved Copyright Thirdware Inc.2015 11 Vagrant基本コマンド コマンド 実行内容 vagrant up 仮想サーバ起動 vagrant ssh <ホスト名> 仮想サーバにログイン vagrant destroy 仮想サーバ破棄 vagrant status 仮想サーバ状況確認 vagrant halt 仮想サーバ停止 vagrant box list Boxリスト表示 vagrant init vagrant初期化 全てVagrantfileと同じ階層にいる状態で実行します。
  • 13. All Rights Reserved Copyright Thirdware Inc.2015 12 今回はbacula.ymlに実行内容を記載しています。 中身は非常にシンプルでntp、timezone、bacula、rebootというroleを各自 呼び出して使っています。 role化して部品化することにより汎用性が高まります。 Ansible基礎
  • 14. All Rights Reserved Copyright Thirdware Inc.2015 13 Baculaのroleは以下の役割があります。 task インストールするパッケージ、起動するサービス ファイルのコピーなどを実行します。 templete 修正済みの設定ファイルなどをtempleteとして使用します。 vars role内で使用できる変数を宣言します。 Ansible基礎
  • 15. All Rights Reserved Copyright Thirdware Inc.2015 14 ?Bitbacketで設定ファイルを共有したい(DRBD,Bacula) ?共有できれば社内ならどこからでも数分で検証環境を構築できる ?Ansibleに興味を持った方role作成にご協力をお願いします 今後の展開