狠狠撸

狠狠撸Share a Scribd company logo
DevOps研修
初級編
Hiro Fukami
ShakeSoul, inc.
I’m …
深海 寛信 Hiro Fukami
株式会社シェイクソウル 代表取締役 CEO
創業者 + エンジニア + 一人娘のパパ
Blog hirofukami.com
Facebook /fukami
Twitter @d_sea
今日お話すること
DevOps の 代表ツールである Chef を具体的に解
説します
今日のゴール
Chef のツールへの理解と演習を始めるための事前
知識を得る
目次
1. Chef を知る
2. Chef の動作を見る
3. Chef の ツール群
4. Chef の使い方
5. 群衆の叡智
6. 演习に向けての準备
ちょっと質問
お仕事内容を把握させてください
開発 or 運用 or どっちも
ワンフレーズ紹介
参加者へのお願い
わからないまま帰らない
わからない時は、
? その場で質問をする
? わからない顔をする
質問の効果
自分がわからないものが何かを知ることができる -
[認識]
わからないものを言語化してアウトプットできる -
[理解]
わからないものがわかるようになる - [成長]
颁丑别蹿を知る
Chef
サーバにおけるOperationをコードによって実行する
冪等性
Infrastructure as Code
サードパーティCookbook: Chef Supermarket
ソフトウエアが人に代わって素早く正確に作業することができ
る
今まで管理しづらかったサーバにおける作業がコードに置き換
わる
Chef Software, inc.
Headquarters: Seattle, WA
Founded: September, 2008
資金調達額: $65M ($32M Dec 2013, $19.5M Mar 2012,
$11M Jun 2010, $2.5M Apr 2009)
https://www.chef.io/
https://www.crunchbase.com/organization/chef
Chefの効果
サーバアプリケーションインストール?セットアップ時間
ex.) Ruby on Rails 本番環境
昔 : 手順を見つつインストール、セットアップ、トライ?
アンド?エラーしながら何とか動作させる 1日
今 : Chef Cookbook 10分
1日(1 x 24 x 60) / 10 = 144倍
Chef の特徴
料理用語
冪等性
自動化
コード化
Ruby
料理用語
Chef
knife : 実行コマンド
Cook : 定義したコードを適用すること
Cookbook : Cookするためのコード群
Recipe : Cook時の動作を定義する基本コード
Supermarket : Cookbooksのサードパーティサイト
冪等性
ある操作を1回行っても複数回行っても結果が同じ
であることをいう概念である。(Wikipedia)
=> あるべき姿に収束するように動作する
自動化
人からシステムへ
誰よりも早くて正確
Chef | IT automation for speed and awesomeness
コード化
Infrastructure as Code
インフラをコードでコントロールする
作業手順や設定内容がコードで管理できる
Ruby
`gem install chef`
https://docs.chef.io/ruby.html
颁丑别蹿の动作を见る
Demo
サンプルCookbookを動作させる
Demo
サンプルCookbookをもう一度動作させる
冪等性の確認
颁丑别蹿のツール群
Chef Tools
Chef Server
Chef Client
Chef Solo
Chef Server
Chef 社の主力商品
サポートが充実すると料金が上がる
Node(適用先)の管理、Cookbook適用を行う
WebUIもオプションである
Workstationから操作も可能
http://docs.chef.io/server/
Chef Server
Workstation - Chef Server - Node
Chef Client
Nodeの内部で動作する
Cookbookを同期し、knifeコマンドをインストールする
Cookするためには必ずNodeにChef Clientのインストー
ルが必要
Unix/Linux以外にWindows/Mac OS Xにも対応
https://www.chef.io/download-chef-client/
Chef Solo
オープンソース
https://github.com/matschaffer/knife-solo
Chef Serverを使うことなくCookbookをNodeに適用できる
Chef Serverほど機能や管理を求めないケースで用いる
sshもしくはlocalhostにて適用する
https://docs.chef.io/chef_solo.html
Practice
https://chef.ioをみる
颁丑别蹿の使い方
ディレクトリ構成
- cookbooks
- nodes
- site-cookbooks
- [cookbook name]
- recipes
- templates
重要なのは recipes
- site-cookbooks
- [cookbook name]
- recipes
- default.rb
- xxxx.rb
Practice
デモしたCookbookのディレクトリ構成を見る
https://github.com/shakesoulinc/sample-cookbooks
Practice
Resources Reference を見る
https://docs.chef.io/chef/resources.html
群众の叡智から学ぶ
Chef Supermarket
Cookbookを登録?参照できる
サードパーティCookbookサイト
https://supermarket.chef.io/
Practice
Chef Supermarket を見る
https://supermarket.chef.io/
Practice
Chef Supermarket で好きなCookbookを見つける
Cookbookのソースを読む
演习に向けての準备
前提となる知識
Linux(CentOS)オペレーションの経験
ssh login
Linux基本コマンド
パッケージインストール (ex. CentOSなら
yum)
やりながら学ぶ知識
Chef アーキテクチャ
Chef コマンド
基本的 搁耻产测スクリプト
演習開始までに行ってほしい
こと
疑問点をなくす
事前知識を得る
演習環境を整える
疑問点をなくす
今まで登場した単語、サービス名で意味がわから
ないものは、調べる or 質問して解消してください
ex. サービス名は検索してサービスページのAbout,
Pricingページを参照する
質問は Contact 情報を活用ください
事前知識を得る
Resources Reference(https://docs.chef.io/chef/
resources.html) を一通り眺め、どんなことができ
るのか知る
Chef Supermarketから気に入ったCookbookを1つ
以上見つける
そのCookbookの recipe, attribute のコードを読み
どんな動作をさせているのかを想像する
演習環境を整える
自分専用のLinuxマシンが2台あること
1台のChef実行マシンからNode(Chef適用先)へssh
loginできること
ssh loginはキー認証で入れるとあとあと楽です
Thanks!!
Q&A
Contact
Blog hirofukami.com
Facebook /fukami
Twitter @d_sea
Mail fukami@shakesoul.net

More Related Content

DevOps 研修 初級編