SOLA勉強会 第4回目

Chef入門 続編
自己紹介
大原 慎一郎 https://twitter.com/ohhara_shiojiri
(有)トラストネットワークス 塩尻インキュベーションプラザ108号室
サーバーやルーター、スイッチなどのインフラ系のシステム構築、運用、管理、監視、...
本日のアジェンダ
■前回のおさらい
 ・基本的な作業の流れ
■サードパーティのクックブック利用方法
 ・公開されているクックブック
 ・Vagrant環境を準備
 ・Berkshelf
 ・WordPressクックブック
本日のアジェンダ
■レシピの書き方
 ・Attribute(属性)
 ・Resource(リソース)
 ・テンプレート
基本的な作業の流れ
1.Vagrantで仮想サーバー環境を作成して起動、ssh環境設定する。
2.レポジトリ(キッチン)を作成して、Gitで初期設定します。
 knife solo init [レポジトリのディレクトリ名]
3.クックブックを作...
公開されているクックブック
■ネットで様々なクックブックが公開されています。
 http://community.opscode.com/cookbooks
 ・カテゴリーや名称で検索できる。
 ・仕様や評価が掲載されている。

■WordPr...
Vagrant環境を準備
■SOLA勉強会 第2回 Vagrant入門を参照
 ・http://www.slideshare.net/ShinichiroOhhara/solavagrantver2
■最新版(2014/01/16時点)に環境を...
Vagrant環境を準備
■最新版(2014/01/16時点)に環境を揃えましょう。
 ・Git 1.8.5.3(1.8.5.2)
  http://git-scm.com/
 ・Chef 11.8.2-1
  http://www.getch...
Vagrant環境を準備
■ノード(CentOS仮想サーバー)環境
 ・サンドボックスを有効にする。
 ・外部参照出来るIPアドレスで起動している事。

■レポジトリを新規作成
 ・SOLA勉強会 第3回 chef入門を参照
  http://...
Berkshelf
■複数のクックブックを統合管理できる。
■bundleコマンドのインストール
 ・bundlerをRubyGemsでインストールします。
gem install bundler
 ・bundlerのインストールを確認します。...
Berkshelf
■bundle初期化
 ・Gemfileファイルを作成します。

bundle init
 ・Gemfileを編集します。
# A sample Gemfile
source "https://rubygems.org"
#...
Berkshelf
■Berkshelfをインストール
bundle --path vendor/bundle
 ・必要なgemがインストールされます。
 ・Git管理から除外する為、.gitignoreファイルにディレクトリを
  追記してお...
Berkshelf
■クックブックをインストール
 ・利用するクックブックをBerksfileファイルに記述します。

site :opscode
cookbook ‘wordpress’
 ・指定したクックブックをネットから取得します。

b...
WordPressクックブック
■JSONファイル設定
 ・レシピ名の他に、初期値を設定します。
 ・MySQLパスワードが最低限必要です。
{
“run_list”:[“wordpress”],
“mysql”: {
"server_root...
WordPressクックブック
■WordPressインストール
 ・Knife Solo Cookを実行して、ノードにWordPressを
  インストールします。

knife solo cook centos64
 ・関連するパッケージを...
WordPressクックブック
■ノード(CentOS6.4)のフィルター設定
 ・ファイヤーウォールのフィルターにwebサービスポートを
  設定して有効にします。

sudo vi /etc/sysconfig/iptables
-A IN...
WordPressクックブック
■Webブラウザでアクセスして確認
 ・問題なくWordPressがインストール出来れば、
 インストールページがブラウザから開くことが出来ます。
 http://192.168.33.10/wordpress/
Attribute(属性)
■属性として変数的に利用します。
■動的に変化する値に使用します。
■記述する場所で動作の優先順位が変わる。
■記述出来る場所
 ・クックブックのattributeディレクトリに規定値
 ・Role毎
 ・JSONフ...
Resource(リソース)
■ノードの状態を示します。
 ・パッケージ
 ・サービス
 ・テンプレート
 ・ファイル、ディレクトリ
 ・ユーザー、グループ
 ・スクリプト
 ・cronとか、その他いろいろあります。
テンプレート
■設定ファイルのテンプレートが利用できます。
■指定した位置にファイルを設置できます。
■Attributeをテンプレート内で使用出来る。
■拡張子erbを付けたテキストファイル
■クックブックのテンプレートディレクトリに配置
 ...
Upcoming SlideShare
Loading in...5
×

Sola勉強会 chef入門 続編

1,253

Published on

Chef入門の続きです。サードパーティのクックブックを利用する方法とレシピ解説。実践例として、WordPressサイトをVagrantで起動させてみます。

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,253
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
28
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Sola勉強会 chef入門 続編

  1. 1. SOLA勉強会 第4回目 Chef入門 続編
  2. 2. 自己紹介 大原 慎一郎 https://twitter.com/ohhara_shiojiri (有)トラストネットワークス 塩尻インキュベーションプラザ108号室 サーバーやルーター、スイッチなどのインフラ系のシステム構築、運用、管理、監視、 保守を行っています。 http://shiojiri-osslabo.com/ ・長野県塩尻市に活動拠点を置く、市内プログラマー有志による団体 ・「オープンな環境でオープンな活動を目指す」を合言葉に集う ・CoderDojo Shiojiri 開催 ・小学生高学年向けRuby教室開催 ・オープンソースCMS ZOMEKIを使ったサイト構築 ・塩尻市と東京都三鷹市で交互にOSS勉強会開催 ・IT技術書をリブライズで貸し出し、また市立図書館と協力
  3. 3. 本日のアジェンダ ■前回のおさらい  ・基本的な作業の流れ ■サードパーティのクックブック利用方法  ・公開されているクックブック  ・Vagrant環境を準備  ・Berkshelf  ・WordPressクックブック
  4. 4. 本日のアジェンダ ■レシピの書き方  ・Attribute(属性)  ・Resource(リソース)  ・テンプレート
  5. 5. 基本的な作業の流れ 1.Vagrantで仮想サーバー環境を作成して起動、ssh環境設定する。 2.レポジトリ(キッチン)を作成して、Gitで初期設定します。  knife solo init [レポジトリのディレクトリ名] 3.クックブックを作成してレシピを編集する。  knife cookbook create [レシピ名] -o site-cookbooks 4.仮想サーバーにChefをインストールしてJSONファイルを編集する。  knife solo prepare [ホスト名] 5.Knife Soloを実行して、リモートから仮想サーバーへインストール  knife solo cook [ホスト名] 6.レシピが完成したらGitで変更を追加してコミットする。 7.仮想サーバーのChef作業ファイルを掃除して完了。  knife solo clean [ホスト名]
  6. 6. 公開されているクックブック ■ネットで様々なクックブックが公開されています。  http://community.opscode.com/cookbooks  ・カテゴリーや名称で検索できる。  ・仕様や評価が掲載されている。 ■WordPressのクックブックを試してみます。  ・Vagrantで仮想サーバーを用意する。  ・クックブック管理のBerkshelfをインストール  ・WordPressをインストールします。
  7. 7. Vagrant環境を準備 ■SOLA勉強会 第2回 Vagrant入門を参照  ・http://www.slideshare.net/ShinichiroOhhara/solavagrantver2 ■最新版(2014/01/16時点)に環境を揃えましょう。  ・VirtualBox 4.3.6   https://www.virtualbox.org/wiki/Downloads  ・Vagrant 1.4.3   http://www.vagrantup.com/downloads.html  ・BOXファイル CentOS6.4   http://www.vagrantbox.es/  http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box
  8. 8. Vagrant環境を準備 ■最新版(2014/01/16時点)に環境を揃えましょう。  ・Git 1.8.5.3(1.8.5.2)   http://git-scm.com/  ・Chef 11.8.2-1   http://www.getchef.com/chef/install/  ・Ruby 2.1.0 2.0.0-p353 1.9.3-p484   windowsはGitBash付属の1.9.3-p484を利用   https://www.ruby-lang.org/ja/downloads/  ・RubyGems 2.2.1   http://rubygems.org
  9. 9. Vagrant環境を準備 ■ノード(CentOS仮想サーバー)環境  ・サンドボックスを有効にする。  ・外部参照出来るIPアドレスで起動している事。 ■レポジトリを新規作成  ・SOLA勉強会 第3回 chef入門を参照   http://www.slideshare.net/ShinichiroOhhara/solachef  ・Knife Solo initで新規作成  ・Gitで初期化コミットしておきます。 ■ノード(CentOS仮想サーバー)にchefをインストール  ・Knife solo prepareでchefをインストールする。
  10. 10. Berkshelf ■複数のクックブックを統合管理できる。 ■bundleコマンドのインストール  ・bundlerをRubyGemsでインストールします。 gem install bundler  ・bundlerのインストールを確認します。 gem list | grep bundler
  11. 11. Berkshelf ■bundle初期化  ・Gemfileファイルを作成します。 bundle init  ・Gemfileを編集します。 # A sample Gemfile source "https://rubygems.org" # gem “rails” gem “berkshelf”
  12. 12. Berkshelf ■Berkshelfをインストール bundle --path vendor/bundle  ・必要なgemがインストールされます。  ・Git管理から除外する為、.gitignoreファイルにディレクトリを   追記しておきます。 /cookbooks/ /vendor/
  13. 13. Berkshelf ■クックブックをインストール  ・利用するクックブックをBerksfileファイルに記述します。 site :opscode cookbook ‘wordpress’  ・指定したクックブックをネットから取得します。 bundle exec berks --path cookbooks  ・cookbooksディレクトリ以下に関連する複数の  クックブックが自動的にダウンロードされます。
  14. 14. WordPressクックブック ■JSONファイル設定  ・レシピ名の他に、初期値を設定します。  ・MySQLパスワードが最低限必要です。 { “run_list”:[“wordpress”], “mysql”: { "server_root_password": "password", "server_debian_password": "password", "server_repl_password": "password" } }
  15. 15. WordPressクックブック ■WordPressインストール  ・Knife Solo Cookを実行して、ノードにWordPressを   インストールします。 knife solo cook centos64  ・関連するパッケージを自動的にインストール  ・設定ファイルを設置  ・各サービスを自動起動  ・インストール完了するまで、しばらく待ちます。
  16. 16. WordPressクックブック ■ノード(CentOS6.4)のフィルター設定  ・ファイヤーウォールのフィルターにwebサービスポートを   設定して有効にします。 sudo vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT sudo service iptables restart
  17. 17. WordPressクックブック ■Webブラウザでアクセスして確認  ・問題なくWordPressがインストール出来れば、  インストールページがブラウザから開くことが出来ます。  http://192.168.33.10/wordpress/
  18. 18. Attribute(属性) ■属性として変数的に利用します。 ■動的に変化する値に使用します。 ■記述する場所で動作の優先順位が変わる。 ■記述出来る場所  ・クックブックのattributeディレクトリに規定値  ・Role毎  ・JSONファイルでノード毎  ・Vagrantfile
  19. 19. Resource(リソース) ■ノードの状態を示します。  ・パッケージ  ・サービス  ・テンプレート  ・ファイル、ディレクトリ  ・ユーザー、グループ  ・スクリプト  ・cronとか、その他いろいろあります。
  20. 20. テンプレート ■設定ファイルのテンプレートが利用できます。 ■指定した位置にファイルを設置できます。 ■Attributeをテンプレート内で使用出来る。 ■拡張子erbを付けたテキストファイル ■クックブックのテンプレートディレクトリに配置  templates/default/ファイル名.erb
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×