Chef Solo

概要

DevOps と Infrastucture as Codeを実現するための
サーバ構築自動化ツールの1つ。

準備

  • VagrantVirtual 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をパッケージ化する
      
  • 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モードの状態確認
    
以下鋭意作成中(now writing...)

0 件のコメント:

コメントを投稿