Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Vagrant+Ansibleで検証環境を簡単構築

2,687 views

Published on

2015/06/25に社内で実施した勉強会資料です。
VagrantとAnsibleを使って検証環境を簡単に構築しようという
内容です。
VagrantとAnsibleの非常に基礎的な内容になります。

Published in: Software

Vagrant+Ansibleで検証環境を簡単構築

  1. 1. Vagrant+Ansibleで 検証環境を簡単構築 社内勉強会資料 2015/06/25
  2. 2. All Rights Reserved Copyright Thirdware Inc.2015 1 ・日々の業務で必要な検証環境を簡単に作りたい ・Vagrant + Ansibleで簡単に作ろう ・PC持込でハンズオンでやろう 本日の勉強会 自動でBaculaサーバを 構築する
  3. 3. All Rights Reserved Copyright Thirdware Inc.2015 2 Virtualboxの技術を利用して仮想サーバを作成できる。 プラグインを利用することによりローカル以外にもAWS、Softlayerなどにサーバ を構築することも可能。 今日使用するVagrantのバージョンは1.7.2 Vagrantって?
  4. 4. All Rights Reserved Copyright Thirdware Inc.2015 3 自動でサーバ構築できるプロビジョニングツールです。 Chef、Puppetなどと同じですがAnsibleは管理するサーバ(構築するサ ーバ)にクライアントを入れる必要がなくPythonが入っていれば動く点が 大きく違います。 Pythonは大抵のLinuxサーバにはデフォルトで入っています。 また最近はAnsibleと同様にクライアントいらずのツールでItamaeという ツールもあり盛り上がっているらしいです。 今日使用するAnsibleのバージョンは1.8.2 Ansibleって?
  5. 5. All Rights Reserved Copyright Thirdware Inc.2015 4 用意するもの ・ノートPC ・やる気 ・業務後だけど最後まで寝ない気構え さあ、はじめましょう
  6. 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. 7. All Rights Reserved Copyright Thirdware Inc.2015 6 Vagrantを実行します。 実行前にviで「Vagrantfile」を修正してください。 IPアドレス部分を環境に合わせて変更してください。 修正したら以下のコマンドで実行します。 Vagrant実行(STEP1) # vagrant up bacula
  8. 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. 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. 10. All Rights Reserved Copyright Thirdware Inc.2015 9 Baculaサーバが構築できたことを確認します。 まずサーバにログインします。 確認しましょう # vagrant ssh bacula ログインしたらrootユーザになりbconsoleを実行します。 $ sudo –s # bconsole * コマンドプロンプトが「*」となることを確認します。
  11. 11. All Rights Reserved Copyright Thirdware Inc.2015 10 次にラベルを作成します。 確認しましょう * label 任意の名前で問題ありません。 * Run (1を選択しyesを入力) * 次にバックアップJOBを実行します。 実行した後に「status」コマンドでJOBが終了していることを確認します。
  12. 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. 13. All Rights Reserved Copyright Thirdware Inc.2015 12 今回はbacula.ymlに実行内容を記載しています。 中身は非常にシンプルでntp、timezone、bacula、rebootというroleを各自 呼び出して使っています。 role化して部品化することにより汎用性が高まります。 Ansible基礎
  14. 14. All Rights Reserved Copyright Thirdware Inc.2015 13 Baculaのroleは以下の役割があります。 task インストールするパッケージ、起動するサービス ファイルのコピーなどを実行します。 templete 修正済みの設定ファイルなどをtempleteとして使用します。 vars role内で使用できる変数を宣言します。 Ansible基礎
  15. 15. All Rights Reserved Copyright Thirdware Inc.2015 14 ・Bitbacketで設定ファイルを共有したい(DRBD,Bacula) ・共有できれば社内ならどこからでも数分で検証環境を構築できる ・Ansibleに興味を持った方role作成にご協力をお願いします 今後の展開

×