Cloudstack user group meeting in osaka

Post on 24-May-2015

843 views 3 download

Transcript of Cloudstack user group meeting in osaka

OPSCODE CHEF基本編Japan Chef User Group

Naotaka Jay Hotta

CloudStack Users Osaka 2012

Japan Chef User Group (JCUG)

設立総会: 2012 年8月 1 日

本日の担当者:  Naotaka Jay Hotta (@jhotta)

目 的:  Opscode Chef の利用を通して

1) IT インフラの高度な管理とシステムの運用の実現を目指す。

2) CI, CD 等に実現のためのディプロイメントツールとして高度な知識の知識が、一般化するための土壌作りを手伝う。

方 法:

3) ML :  chef-ja   google group で検索してください。

4) HP :  Japan chef user Group   facebook で検索してください。

運営協力者募集中!

本日の時間配分15 分  Chef の基本( 対象者: Chef 未経験者 )

1 分 質疑応答

http://www.flickr.com/photos/32299138@N08/5795005774/

Infrastructure

as

a Code

世界中のコンピュートインスタンスの

0.1%を使った HPCで10時間で計算する

Business のAgilityを上げる

CloudStack

Loosely tied management tools enStatus, Scalr, Opscode chef, Sensu,

AWSIDCFKDDINTTNiftyetc..

Publiccloud servicePhysical Hardware

Hypervisor Software-Defined Network

ObjectStorage

File systems

Storage

自動化を含めた、Libや APPs等のパーツの、細かい要件( version)の定義で再現性の実現

Chef の基本

公式リリース :

Jan 15th, 2009

本拠地

“Chef is like a little system admin robot... you tell it how you want your system configured and it will do all the dirty work.”- Early Chef Adopterサーバ管理の小人

くん

DevOps業界では、必需品の第3世代Sever Configuration …

Puppet, cfengineとの違い?

Those Who are not Using!

• Ruby Internal DSL

• 便利な knife command

• Apache License 2.0 OSS

• Communityの活力

• 380+Cookbooks

• Plug-Ins 多数

• Source Code Documentation

• FAQ

• Training16,000 Active Users

• 600+ Individual and 120+ Corporate Contributors

• Global Partner Network

Opscode Chef community

http://community.opscode.com/

日本語ドキュメントが劇貧

全然知らな〜い

初期の頃から、 recipeを公開していた

http://dtosolutions.com/

http://dtosolutions.com/

Chef-Solo

OSS Chef-server

Private Chef-server

Hosted Chef-server

+ Chef Client

-c, --config CONFIG-j, --json-attributes JSON_ATTRIBS-r, --recipe-url RECIPE_URL

* run_listは、 json-attributesの中で設定する。

# chef-solo -c ~/solo.rb \

-j ~/node.json \

-r http://www.example.com/chef-solo.tar.gz

それぞれの NODEの Roleに合わせた、設定内容のリストが呼び出される。

name "webserver"description "The base role for systems that serve HTTP traffic"run_list "recipe[apache2]", "recipe[apache2::mod_ssl]", "role[monitor]”default_attributes "apache2" => { "listen_ports" => [ "80", "443" ] }override_attributes "apache2" => { "max_children" => "50" }

Repository Description Maintainer

https://github.com/opscode-cookbooks

Cookbooks created by Opscode Opscode

https://github.com/37signals/37s_cookbooks

37 Signals Repository 37 Signals

https://github.com/engineyard/ey-cloud-recipes

EY Cloud Recipes Engine Yard

https://github.com/cookbooks Community Curated Cookbooks “Cookbooks” Organization

コミュニティーレシピーのリポジトリー

knife cloudstack

Knife: 強力な CLI(コマンドラインインターフェース )

Subcommands built into Knife:• Bootstrap• Client• Cloud Plugins• Configure• Cookbook• Cookbook Site• Data Bag• Environment• Exec• Node• Recipe• Role• Search• SSH• Status• Tag

Knife Plugins

設置は簡単、ディレクトリの自由度が高い

• ~/.chef/plugins/knife/

• Cookbookの .chef/plugins/knife/

• Ruby Gem がある chef/knife

有益な Community Plugins

http://wiki.opscode.com/display/chef/Community+Plugins

knife.rb file:

knife[:cloudstack_url] = "http://yourcloudstackserver.com:8080/client/apiknife[:cloudstack_api_key] = "Your CloudStack API Key"knife[:cloudstack_secret_key] = "Your CloudStack Secret Key"

** CS COMMANDS **

knife cs hostsknife cs network list (options)knife cs server create [SERVER_NAME] (options)knife cs server delete SERVER_NAME [SERVER_NAME ...] (options)knife cs server list (options)knife cs server reboot SERVER_NAME [SERVER_NAME ...] (options)knife cs server start SERVER_NAME [SERVER_NAME ...] (options)knife cs server stop SERVER_NAME [SERVER_NAME ...] (options)knife cs service list (options)knife cs stack create JSON_FILE (options)knife cs stack delete JSON_FILE (options)knife cs template list (options)knife cs zone list (options)

knife.rbで、Hadoop cluster 構成を指定すると!

"name": "hadoop_cluster_a","description": "A small hadoop cluster with hbase","version": "1.0","environment": "production","servers": [ { "name": "zookeeper-a, zookeeper-b, zookeeper-c", "description": "Zookeeper nodes", "template": "rhel-5.6-base", "service": "small", "port_rules": "2181", "run_list": "role[cluster_a], role[zookeeper_server]", "actions": [ { "knife_ssh": ["role:zookeeper_server", "sudo chef-client"] } ] }, { "name": "hadoop-master", "description": "Hadoop master node", "template": "rhel-5.6-base", "service": "large", "networks": "app-net, storage-net", "port_rules": "50070, 50030, 60010", "run_list": "role[cluster_a], role[hadoop_master], role[hbase_master]" }, { "name": "hadoop-worker-a hadoop-worker-b hadoop-worker-c", "description": "Hadoop worker nodes", "template": "rhel-5.6-base", "service": "medium", "port_rules": "50075, 50060, 60030", "run_list": "role[cluster_a], role[hadoop_worker], role[hbase_regionserver]", "actions": [ { "knife_ssh": ["role:hadoop_master", "sudo chef-client"] }, { "http_request": "http://${hadoop-master}:50070/index.jsp" } ] }

Opscodeと旧 cloud.comより、CloudStack 3.0に対応していると、ニュースリリ -スされていますが、CloudStack User会の事務局長 A氏の個人検証環境の強制占拠によって未だ検証できず!