Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack

1,485 views
1,381 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,485
On SlideShare
0
From Embeds
0
Number of Embeds
190
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack

  1. 1. ~結果発表~ 2013年10月19日(土) @fullvirtue Copyright © @fullvirtue. All rights reserved.
  2. 2. chefの基本について chefのおさらい Copyright © @fullvirtue. All rights reserved. 2
  3. 3. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack chefのおさらい:chefの守備範囲 IDCFクラウドでchefを使い始めるまで―第1回 chef Server導入編 http://www.idcf.jp/blog/cloud/chef_01/ Copyright © @fullvirtue. All rights reserved. 3
  4. 4. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack chefのおさらい:chefが出る前の代替手段との比較 Puppet chef 割とある (この分野では) 多い。有名企業 も使ってる そこそこ 多い 専用の文法で書く (外部 DSL) 少し分かりにくい 実行順は状況に応じてシステム 側で決まる。Makefile みたい 若い 特になし サーバ側で CouchDB、RabbitMQ が必要 インストール 簡単。gem のインストールで済 む 他システムと の連携 あまり売りにはしてない感じ サーバ側は軽く死ねる。パッケージで入れないとつ らい。クライアント側は gem だけで済むので簡単 RESTful なサーバ API を使って、値が JSON で取 得できるのでいろいろやりやすそう 歴史 ユーザー 開発の活発度 ドキュメント 設定ファイル 設定の構成 依存関係の処 理 必要なミドル ウェア まだ少ない 活発 (割と旬な感じ) まあ十分ぽい Ruby で書く (内部 DSL) 割と分かりやすい。ネーミングとかしっくりくる 基本書いた順ぽい。Puppet よりはスクリプト風 chef でサーバ管理を楽チンにしよう! (第 1 回) http://magazine.rubyist.net/?0035-chefInDECOLOG#l1 Copyright © @fullvirtue. All rights reserved. 4
  5. 5. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack chefのおさらい:chefのツール群 名称 概要 chef-server 情報を集約して管理するサーバプロセス 各 Client とは JSON/REST スタイルで通信する chef-client 設定を適用する各マシンにインストールされるデーモン 定期的に chef-server をポーリングして、その内容に従ってレシピを実行 chef-solo サーバ無しでレシピを実行するツール knife chef-server に登録されている情報の取得・変更を行うツール webui chef-server の Web インターフェース chef でサーバ管理を楽チンにしよう! (第 1 回) http://magazine.rubyist.net/?0035-chefInDECOLOG#l1 Copyright © @fullvirtue. All rights reserved. 5
  6. 6. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack chefのおさらい:chefの主な構成要素 chef-server にアクセス するツール類 Recipe、Template、 Attribute などをひとまと めにしたディレクトリ Cookbook の説明 とかのメタ情報 管理対象マシン 設定ファイ ルを生成す るためのテ ンプレート バイナリファイルなど、 単にコピーして使うため のファイルを置くところ 実行内容の定義本体 Node に対して適用する Role や Recipe を指定したリスト 複数の Recipe をまとめて「役割」と して定義するためのもの 環境依存の処理を吸収するための変数 Recipe 内で行う操作を抽象化して宣言文ぽくしたもの パッケージ管理、デーモン管理、ファイル管理、コマンド実行等 chef でサーバ管理を楽チンにしよう! (第 1 回) http://magazine.rubyist.net/?0035-chefInDECOLOG#l1 Copyright © @fullvirtue. All rights reserved. 6
  7. 7. 今回構築した構成について説明します 今回構築した構成 Copyright © @fullvirtue. All rights reserved. 7
  8. 8. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack 今回構築した構成 開発環境用 Cerf Server用 ステージング環境用 本番環境用 Workstation用 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 8
  9. 9. Azureの管理ポータルでやったことについて やったこと:事前準備 Copyright © @fullvirtue. All rights reserved. 9
  10. 10. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:事前準備(1/5)  サブスクリプションの調達、アフィニティグループ、 仮想マシンの作成(Chef Server / Workstation) アフィニティグループ svratithackchef1affinitygroup アフィニティグループ wksatithackchef1affinitygroup 仮想マシン 仮想マシン OpenLogic CentOS 6.3 svratithackchef Windows Azure Chef Server環境用 サブスクリプション svratithackchef1 Copyright © @fullvirtue. All rights reserved. OpenLogic CentOS 6.3 wksatithackchef Windows Azure Workstation環境用 サブスクリプション wksatithackchef1 10
  11. 11. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:事前準備(2/5)  サブスクリプションの調達、アフィニティグループ、 仮想マシンの作成(Chef Client [node]×3環境) アフィニティグループ devatithackchef1affinitygroup 仮想マシン アフィニティグループ stgatithackchef1affinitygroup 仮想マシン OpenLogic CentOS 6.3 devatithackchef Windows Azure 開発環境用 サブスクリプション devatithackchef1 Copyright © @fullvirtue. All rights reserved. アフィニティグループ relatithackchef1affinitygroup 仮想マシン OpenLogic CentOS 6.3 stgatithackchef Windows Azure ステージング環境用 サブスクリプション stgatithackchef1 OpenLogic CentOS 6.3 relatithackchef Windows Azure 本番環境用 サブスクリプション relatithackchef1 11
  12. 12. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:事前準備(3/5)  Microsoftアカウントを作成中にエラー発生 Copyright © @fullvirtue. All rights reserved. 13
  13. 13. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:事前準備(4/5)  サブスクリプションの調達、アフィニティグループ、 Cerf Server用 仮想マシンの作成 Workstation用 Copyright © @fullvirtue. All rights reserved. 14
  14. 14. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:事前準備(5/5)  サブスクリプションの調達、アフィニティグループ、 開発環境用 仮想マシンの作成 ステージング環境用 本番環境用 Copyright © @fullvirtue. All rights reserved. 15
  15. 15. chef-serverの構築でやったことについて やったこと:chef-server Copyright © @fullvirtue. All rights reserved. 16
  16. 16. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:chef-server(1/7) 1. chef-server のインストール 1. chefのURL取得 http://www.opscode.com/chef/install/ – 今回の場合:Enterprise Linux → 6 → x86_64 → 11.0.8 » https://opscode-omnibuspackages.s3.amazonaws.com/el/6/x86_64/chef-server-11.0.81.el6.x86_64.rpm 2. chef server パッケージのインストール – # sudo rpm -ivh [1.で取得したURL] 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 17
  17. 17. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:chef-server(2/7) 2. chef-server のセットアップ 1. 前回の処理結果時に表示されていたコマンドを そのまま実行する – # sudo chef-server-ctl reconfigure 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 18
  18. 18. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:chef-server(3/7) 3. chef-server のセットアップ中にエラー発生 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 20
  19. 19. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:chef-server(4/7) 3. chef-server のセットアップ中にエラー発生 – ケチって で仮想マシンを作成したら、 メモリが足りませんでした... orz 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 21
  20. 20. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:chef-server(5/7) 4. 仮想マシンを全部削除後、再度作成 1. 泣く泣く仮想マシンを削除 × 5環境 2. 今度は を選んで仮想マシンを作成 × 5環境 3. chef-server のインストールおよびセットアップ – – 同様の手順でダウンロード→インストール→セットアップを実施 成功すると以下のようなメッセージが出ます 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 22
  21. 21. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:chef-server(6/7) 5. Azureの管理画面からhttps用のエンドポイントを設定 1. エンドポイントの詳細の指定でHTTPSを選択 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 23
  22. 22. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:chef-server(7/7) 6. ブラウザからchef-serverへアクセス 1. ブラウザから以下のURLへアクセス – https://[対象の仮想マシン].cloudapp.net/users/login 2. ログイン後、パスワード変更 1. ログイン画面に書かれているデ フォルトのユーザー、パスワー ドでログイン 2. パスワード変更を求められるの で好きなパスワードに変更 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 24
  23. 23. workstationの構築でやったことについて やったこと:workstation Copyright © @fullvirtue. All rights reserved. 25
  24. 24. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:workstation(1/6) 1. chef-clientのインストール 1. gitパッケージをインストール – # sudo yum install git 2. Chef Clientパッケージをインストール – # curl -L http://www.opscode.com/chef/install.sh | sudo bash 3. インストールが出来たかどうかを、chef-clientコマンドで確認 – # chef-client -v 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 26
  25. 25. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:workstation(2/6) 2. Cookbook開発環境の構築 1. WorkstationでCookbook開発などに利用するユーザー(一般 ユーザー)のホームディレクトリ以下に.chefディレクトリを作成 – # mkdir ~/.chef 2. Chef Serverの/etc/chef-serverディレクトリにある秘密鍵 admin.pemとchef-validator.pemの二つをWorkStationにコピー 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 27
  26. 26. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと:workstation(3/6) 3. Cookbook開発に必要なディレクトリ、ファイルを作成 1. gitより取得 – – # cd # git clone git://github.com/opscode/chef-repo.git 2. 初期設定を実施 – – # cd chef-repo/ # sudo knife configure --initial 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 28
  27. 27. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと: workstation (4/6) 4. 初期設定を実施中にエラー発生 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 30
  28. 28. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと: workstation (5/6) 5. 初期設定をやりなおすもエラー再発 Copyright © @fullvirtue. All rights reserved. 31
  29. 29. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack やったこと: workstation (6/6) 6. サーバー名を変更するもタイムアウトでエラー・・・ Copyright © @fullvirtue. All rights reserved. 32
  30. 30. 今回のハッカソンの進捗結果 最終結果 Copyright © @fullvirtue. All rights reserved. 33
  31. 31. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack 今回構築した構成 開発環境用 Cerf Server用 ステージング環境用 本番環境用 Workstation用 初期設定中に Serverに繋がらず 仮想マシンを 用意しただけ で終わった 【chef 11版】chef Server環境セットアップ手順の紹介 http://www.idcf.jp/blog/cloud/chef-11/ Copyright © @fullvirtue. All rights reserved. 34
  32. 32. chef+Vagrantでクラウド環境構築自動化ハッカソン #atithack 今回作成したAzureのアイテム達 Copyright © @fullvirtue. All rights reserved. 35
  33. 33. ご静聴ありがとうございました。 Copyright © @fullvirtue. All rights reserved. 36

×