概要
DevOps と Infrastucture as Codeを実現するためのサーバ構築自動化ツールの1つ。
準備
-
VagrantとVirtual Boxをインストール。
- VagrantへのOSイメージの登録
vagrant box add <OSイメージ名(任意)> <OSイメージURL> vagrant box list #登録されたboxの一覧確認
※Vagrantbox.esやプロジェクトBentoにてイメージURLを確認のこと - Vagrantを起動したいディレクトリでinitを実行
vagrant init <OSイメージ名>
- Vagrantの起動
vagrant up vagrant up --no-provision #Vagrantのprovisioning設定を無視して起動 vagrant up --provision #Vagrantのprovisioning設定を有効にして起動
- Vagrantへの接続
vagrant ssh
- その他
vagrant halt #仮想サーバを止める vagrant destroy #仮想サーバを破棄する vagrant ssh-config --host <サーバ名> >> ~/.ssh/config #SSHで仮想サーバに接続する設定 #プライベートIPを割り振る vi Vagrantfile #------------------------------- # Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # 略 # config.vm.network :private_network, ip: "プライベートIPアドレス" # (例)config.vm.network :private_network, ip: "192.168.30.10" # 略 # end #------------------------------- vagrant package #色々設定を行ったVagrantをパッケージ化する
- VagrantへのOSイメージの登録
- knife-soloのインストール
(Chefの操作を仮想サーバ外から利用するためのユーティリティツール)gem install knife-solo #実行環境によってはsudo権限が必要 gem install berkshelf #クックブックの依存関係を管理するツール gem install bundler #Gemfileに書かれたgemの依存関係を解決してくれるツール
仮想サーバへのChef Soloのインストール
これには2つの方法がある。- 仮想サーバ内でインストール
vagrant ssh curl -L https://www.opscode.com/chef/install.sh | sudo bash
- knifeを利用してホスト側(仮想サーバ外)からインストール
knife solo bootstrap <仮想サーバ名>
リポジトリを作る
- knife-soloを利用する場合
knife solo init . #カレントディレクトリにリポジトリが作られる
VagrantのPlugin
Sahara
Vagrantの状態を保存しておいた状態までロールバックすることができるPlugin- Saharaのインストール
vagrant plugin install sahara
- 基本的なコマンド
vagrant sandbox on #sandboxモードの有効化 vagrant sandbox rollback #ロールバック vagrant sandbox off #sandboxモードの無効化(ちょっと時間かかる) vagrant sandbox status #sandboxモードの状態確認
0 件のコメント:
コメントを投稿