SlideShare a Scribd company logo
Windows7でも Chefしたい! 
2014/09/07 
YAMAMOTO, Miyawaki, Tamie
自己紹介 
ه山本民枝(旧姓:宮脇) 
هtwitter : @tami_miyawaki 
هGitHub: miyawaki-cookbooks 
هBlog: http://kiroku-seyo.blog.so-net.ne.jp/ 
ه仕事: 
ه本職は、構築方面のDB屋さん(ほとんど、Oracler) 
هOS (Linux)レイヤ以上のインフラ屋さん(便利屋さんともいう) 
ه資格: 
هOracle Master Gold Oracle Database 11g 
ه大昔にとった、情報処理試験のデータベーススペシャリスト 
ه最近: 
ه2年間、ほとんどOracle Databaseを触ってません 
هもっぱら、LinuxとApacheとTomcatと、ときどきPostgreSQL 
ه遊び道具として、Chef soloを触っていますー 
2
Chefが流行って久しいですが・・・ 
みなさんMac使いのようで、 
Windowsを使った話が少ないです。 
(実際、かなり面倒なことは確かです) 
WindowsでもChef Development Kit(Chef Dk)が登 場し、Chefの環境がかなり楽に作れるようになってきた ので、紹介したいと思います。 
もちろん、ご存知の方は、聞き流してください。 
3
というわけで。 
هWindows7にChef soloの動作環境を作ります。 
هChef Development Kit (ChefDK) 0.2.0.2 
هknife-solo 0.4.2 
هVagrant + VirtualBoxの話はしません。 
ه設定する対象のサーバは、Oracle Linux6.5を 使います。 
هJava8をインストールしてみます。 
ه「Java使い」ではないので、Tomcat8とGitBucketも 入れて動作確認とします。 
4
お約束:Chefとは? 
هサーバ管理自動化の ためのフレームワーク です。 
ه詳しくは、「Chef実践 入門」を読むと幸せに なれると思います。 
5
実行環境: 
作業PC: 
Windows7 
Professional SP1 
64bit VMware ESXi 5.5 
構築サーバ側: 
Oracle Linux 
6.5 x86_ 64 
192.168.1.151 
knife solo コマンド 
Internet 
6
Chefを入れる前に 
Cygwin(ssh, rsync)をインストールしておきます。 
هNetパッケージのsshとrsyncを追加。 
ه環境変数PATHにCygwinのbinディレクトリを追加。 (C:¥cygwin64¥bin) 
プロキシ環境にある人は、設定を忘れずに。 
هDOS> setx http_proxy “http://proxy.hoge.com:8080” 
7
ChefDKをインストールします 
8 
http://downloads.getchef.com/chef-dk/
インストール時の注意点 
هC:¥opscodeにインストールしてください。 
هインストールされるツール 
هChef,Chef-Client, Knife, Ohai, Chef Zero 
هBerkshelf3.0 
هTest Kitchen 
هChefSpec 
هFoodcritic 
9
knife-soloコマンドをインストールする 
هno-user-install:全体のgem環境へ導入を指定 
هignore-dependencies:すでに導入済GEMの導入 を抑制(むやみにコンパイルしてエラーになる) 
DOS> chef gem install knife-solo --no-user-install --ignore-dependencies --no-ri --no-rdoc 
10
Chef-soloの準備をします。 
knifeコマンドを初期化 
Chefのリポジトリ(ディレクトリ)を作成 
11 
DOS> knife configure 
DOS> knife solo init chef-repo
chef-repoのディレクトリ構成 
12 
Berkshelfが管理するCookbook 
自前のCookbook 
サーバごとの定義 
役割ごとの定義
Berkshelf: 
هBerkshelfは、コミュニティ提供のCookbook を管理するツールです。 
ه「Chef実践入門」の記述は、Berkshelf2.x系 についての記述です。 
هしかし、現在は普通にインストールすると、 Berkshelf3.x系なので、注意が必要です。 
13
Berkshelfはインストール済です 
هberkshelfを使うには、 
هchef-repoの下に、Berksfileを作ります。 
هcookbooksディレクトリを削除しておきます。 
هここに、cookbookがダウンロードされます。 
14
Berksfileの中身: 
source "https://supermarket.getchef.com" 
cookbook "java" 
15 
chef-repo¥Berksfile
Berks用の証明書を設定します 
ه以下のURLから証明書をダウンロードします 
هhttp://curl.haxx.se/ca/cacert.pem 
هファイルを以下のファイルとして置きます 
هchef-repo¥.chef¥cacert.pem 
ه証明書ファイル名をSSL_CERT_FILE環境 変数に指定します 
هDOS> set SSL_CERT_FILE=c:¥Users¥hoge¥chef- repo¥.chef¥cacert.pem 
16
javaのCookbookを用意します 
هberksコマンドを実行します。 
هコミュニティ版のjavaのCookbook、および、依存性のある Cookbookをダウンロードします。 
هchef-repo¥cookbooksにjava等のCookbookが用意で きます。 
DOS> berks vendor cookbooks 
17
Oracle Linux側の環境設定 
1.ESXiに、Oracle Linuxをインストールします。 
هCentOS 6.5 x86_64 minimal 
هcentos2ol.shを実行 
2.次のパッケージが導入されていることを確認。 
هrsync、および、curl 
3.インターネットへの接続を確保してください。 
هDNSが設定されている 
هプロキシ環境下では、プロキシが設定されている 
ه~root/.curlrcにproxyを設定してます。 
4.(参考)Vagrantを使うとこの辺りは自動化可能。 
18
サーバにChef soloをインストール 
Windows7からknifesolo コマンドを実行 
DOS> knife solo prepare root@192.168.1.151 
19
「java」cookbookを使うためには 
هjava8を使うには、以下の情報が必要です。 
هダウンロード先のURL(US OTNのサイト) 
هtar.gzファイルのSHA256のハッシュ値 
هサイトにはSHA256の値が掲載されていないので、フ ァイルをダウンロードして算出しました 
20
OTNのサイトからURLを入手 
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 
21
ようやくChefらしく 
هnodesファイルを用意します 
هnodes¥192.168.1.151.json 
هrolesファイルを用意します 
هroles¥git.rb 
هプロビジョニングします 
22
nodes¥192.168.1.151.jsonを書く 
{ "run_list": [ "role[git]" ] 
} 
23
roles¥git.rbを書く 
name = "gitserver" 
override_attributes"iptables" => { "tomcat" => "8080“ }, 
"java" => 
{ "install_flavor" => "oracle", 
"jdk_version"=> 8, 
"java_home"=> "/usr/local/java", 
"oracle" => { "accept_oracle_download_terms" => true }, 
"jdk" => { 
"8" => { 
"x86_64" => { 
“url”=> "http://download.oracle.com/otn-pub/java/jdk/8u20-b26/jdk-8u20- linux-x64.tar.gz", 
"checksum" => "3e717622ae48af5ca7298e7797cb71d4d545238f362741a83e69c097ca055de4" 
} 
} 
} 
}, 
24
roles¥git.rbを書く(つづき) 
"tomcat" => 
{ "version" => 8, 
"download" => { 
"url" => "http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-8/v8.0.11/bin/apache- tomcat-8.0.11.tar.gz", 
"chkcum" => "c9feca59e5fc8f40eeacc411328f21c268ed0ca7b4cce259f830736fbf8227d3” 
}, 
"gitbucket" => 
{ "type" => "tomcat", 
"home" => "/var/lib/gitbucket/“ 
} 
# --recipe -- 
run_list"recipe[iptables::iptables]", 
"recipe[java]", 
"recipe[tomcat]", 
"recipe[gitbucket]" 
25
自前でcookbookを書いています 
هsite-cookbooks¥iptables 
ه/ets/sysconfig/iptablesにport filterを追加する だけのcookbook 
هsite-cookbooks¥tomcat 
هtomcatをダウンロードして、CATALINA_HOMEと BASEを分けて設定するだけのcookbook 
هsite-cookbooks¥gitbucket 
هgitbucket.warをダウンロード、設置するcookbook 
ه詳細は、割愛します。 
26
ようやくプロビジョニング(converge) 
Windows7からknife soloコマンドを実行 
DOS> knife solo cook root@192.168.1.151–i秘密鍵 
ه鍵の設定をあらかじめしておいてください(方法は割愛します) 
ه(設定しない場合でも、パスワードを10回入力すれば実行可 能ですが・・・。) 
27
がらがらと、 
Chefsoloが実行されます 
28
GitBucketにアクセスすると・・・ 
http://192.168.1.151 :8080/gitbucket/ 
29
どうやら動いています。 
30
Javaのversionを確認します 
Java8ですね。 
31
以上です。 
32 
ご静聴ありがとうございました。

More Related Content

PDF
Chefで始めるWindows Server構築
PPTX
Chef windows linux環境構築
PPTX
明日から始める Chef 入門 #bpstudy
PDF
Chef社内勉強会(第1回)
PPTX
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
PDF
仮想マシンを使った開発環境の簡単共有方法
PDF
Ansibleで始めるインフラ構築自動化
PDF
Chefで作る開発環境
Chefで始めるWindows Server構築
Chef windows linux環境構築
明日から始める Chef 入門 #bpstudy
Chef社内勉強会(第1回)
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel-
仮想マシンを使った開発環境の簡単共有方法
Ansibleで始めるインフラ構築自動化
Chefで作る開発環境

What's hot (20)

PPTX
Chef概論とレシピ実践入門
PDF
誰でも出来るローカル開発環境の作り方
PDF
クラウド上でのChef活用と ベストプラクティス v0.2.0
PDF
サーバ構築を自動化する 〜Ansible〜
PDF
PowerShell DSC と Linux
PPTX
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
PDF
Redmine Ansible
PDF
すごいBOSHたのしく学ぼう
PDF
コンテナ事例 CircleCI, Cucumber-Chef
PPTX
Ansible+Docker
PDF
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
PDF
さくらのインフラコード
PDF
最近の PowerShell のお話
PDF
CIデモ環境 構築手順書
PPTX
開発環境をVagrantからdockerに移行してみた
PDF
Ruby で zabbix agent の loadable module を作れる loadable module を C言語 + mruby で作った
PDF
めんどうくさくないWardenハンズオン
PDF
AnsibleによるInfrastructure as code入門
PPTX
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
PDF
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
Chef概論とレシピ実践入門
誰でも出来るローカル開発環境の作り方
クラウド上でのChef活用と ベストプラクティス v0.2.0
サーバ構築を自動化する 〜Ansible〜
PowerShell DSC と Linux
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
Redmine Ansible
すごいBOSHたのしく学ぼう
コンテナ事例 CircleCI, Cucumber-Chef
Ansible+Docker
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
さくらのインフラコード
最近の PowerShell のお話
CIデモ環境 構築手順書
開発環境をVagrantからdockerに移行してみた
Ruby で zabbix agent の loadable module を作れる loadable module を C言語 + mruby で作った
めんどうくさくないWardenハンズオン
AnsibleによるInfrastructure as code入門
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
Ad

Viewers also liked (20)

PPTX
ハードディスクの正しい消去(2015.7)
PDF
「今そこにある危機」を捉える ~ pg_stat_statements revisited
PDF
PostgreSQLレプリケーション徹底紹介
PDF
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
PDF
Oracle how-to-audit-backup
PDF
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
PDF
Meetup! jpoug oracle cloud world - なーんでだ1
PDF
SQLチューニング総合診療Oracle CloudWorld出張所
PDF
Dbts2013 特濃jpoug log_file_sync
PDF
db tech showcase Tokyo 2013 - A35 特濃JPOUG:潮溜まりでジャブジャブ、SQLチューニング
PDF
Analyzing Oracle Database hang issues using various diagnostics.
PPTX
Oracle In-database-archiving ~Oracleでの論理削除~
PDF
Oracle cloudworld な〜んでだ?#3
PDF
Page frame management
PDF
シンプルでシステマチックな Oracle Database, Exadata 性能分析
PDF
DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜
PDF
Corruption And Revive - db tech showcase 2013 特濃JPOUG
PDF
SQL Developerって必要ですか? 株式会社コーソル 河野 敏彦
PDF
簡単!AWRをEXCELピボットグラフで分析しよう♪
PDF
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
ハードディスクの正しい消去(2015.7)
「今そこにある危機」を捉える ~ pg_stat_statements revisited
PostgreSQLレプリケーション徹底紹介
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
Oracle how-to-audit-backup
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
Meetup! jpoug oracle cloud world - なーんでだ1
SQLチューニング総合診療Oracle CloudWorld出張所
Dbts2013 特濃jpoug log_file_sync
db tech showcase Tokyo 2013 - A35 特濃JPOUG:潮溜まりでジャブジャブ、SQLチューニング
Analyzing Oracle Database hang issues using various diagnostics.
Oracle In-database-archiving ~Oracleでの論理削除~
Oracle cloudworld な〜んでだ?#3
Page frame management
シンプルでシステマチックな Oracle Database, Exadata 性能分析
DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜
Corruption And Revive - db tech showcase 2013 特濃JPOUG
SQL Developerって必要ですか? 株式会社コーソル 河野 敏彦
簡単!AWRをEXCELピボットグラフで分析しよう♪
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
Ad

Similar to Windows7でもchefしたい! (20)

PDF
DevOpsを実現する為のChef実践テクニック Chef12対応版
PPTX
Aizu.LT::Tokyo #4
PDF
ReVIEW & CI - ChefでCI環境構築
PDF
Chef solo 入門の入門
PDF
社内Chef勉強会
PDF
DevOpsを実現するChef活用テクニック
PDF
Openstack chef-repo
PDF
20130723 ecシステムにchefを導入してみた v1.0
PDF
Chef Howto with Vagrant + Berkshelf
PDF
今日から使い始めるChef
PDF
入門 Chef Server #biglobetechtalk
PPTX
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
PDF
hbstudy37 doc
PPTX
ネットワークエンジニアのための Puppet / Chef
PPTX
Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo
PDF
Sola勉強会 chef入門 続編
PPTX
Vagrant chef
PPTX
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
PDF
サーバー設定自動化は経営課題
PDF
S16 Microsoft Azure 上での Chef 環境の構成
DevOpsを実現する為のChef実践テクニック Chef12対応版
Aizu.LT::Tokyo #4
ReVIEW & CI - ChefでCI環境構築
Chef solo 入門の入門
社内Chef勉強会
DevOpsを実現するChef活用テクニック
Openstack chef-repo
20130723 ecシステムにchefを導入してみた v1.0
Chef Howto with Vagrant + Berkshelf
今日から使い始めるChef
入門 Chef Server #biglobetechtalk
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
hbstudy37 doc
ネットワークエンジニアのための Puppet / Chef
Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo
Sola勉強会 chef入門 続編
Vagrant chef
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
サーバー設定自動化は経営課題
S16 Microsoft Azure 上での Chef 環境の構成

Windows7でもchefしたい!