46
DevOps研修 初級編 Hiro Fukami ShakeSoul, inc.

DevOps 研修 初級編

Embed Size (px)

Citation preview

Page 1: DevOps 研修 初級編

DevOps研修 初級編

Hiro Fukami ShakeSoul, inc.

Page 2: DevOps 研修 初級編

I’m …深海 寛信 Hiro Fukami

株式会社シェイクソウル 代表取締役 CEO

創業者 + エンジニア + 一人娘のパパ

Blog hirofukami.com

Facebook /fukami

Twitter @d_sea

Page 3: DevOps 研修 初級編

今日お話すること

DevOps の 代表ツールである Chef を具体的に解説します

Page 4: DevOps 研修 初級編

今日のゴール

Chef のツールへの理解と演習を始めるための事前知識を得る

Page 5: DevOps 研修 初級編

目次1. Chef を知る

2. Chef の動作を見る

3. Chef の ツール群

4. Chef の使い方

5. 群衆の叡智

6. 演習に向けての準備

Page 6: DevOps 研修 初級編

ちょっと質問

お仕事内容を把握させてください

開発 or 運用 or どっちも

ワンフレーズ紹介

Page 7: DevOps 研修 初級編

参加者へのお願い

わからないまま帰らない

わからない時は、

• その場で質問をする

• わからない顔をする

Page 8: DevOps 研修 初級編

質問の効果自分がわからないものが何かを知ることができる - [認識]

わからないものを言語化してアウトプットできる - [理解]

わからないものがわかるようになる - [成長]

Page 9: DevOps 研修 初級編

Chefを知る

Page 10: DevOps 研修 初級編

ChefサーバにおけるOperationをコードによって実行する

冪等性

Infrastructure as Code

サードパーティCookbook: Chef Supermarket

ソフトウエアが人に代わって素早く正確に作業することができる

今まで管理しづらかったサーバにおける作業がコードに置き換わる

Page 11: DevOps 研修 初級編

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

Page 12: DevOps 研修 初級編

Chefの効果サーバアプリケーションインストール・セットアップ時間

ex.) Ruby on Rails 本番環境

昔 : 手順を見つつインストール、セットアップ、トライ・アンド・エラーしながら何とか動作させる 1日

今 : Chef Cookbook 10分

1日(1 x 24 x 60) / 10 = 144倍

Page 13: DevOps 研修 初級編

Chef の特徴料理用語

冪等性

自動化

コード化

Ruby

Page 14: DevOps 研修 初級編

料理用語Chef

knife : 実行コマンド

Cook : 定義したコードを適用すること

Cookbook : Cookするためのコード群

Recipe : Cook時の動作を定義する基本コード

Supermarket : Cookbooksのサードパーティサイト

Page 15: DevOps 研修 初級編

冪等性ある操作を1回行っても複数回行っても結果が同じであることをいう概念である。(Wikipedia)

=> あるべき姿に収束するように動作する

Page 16: DevOps 研修 初級編

自動化

人からシステムへ

誰よりも早くて正確

Chef | IT automation for speed and awesomeness

Page 17: DevOps 研修 初級編

コード化

Infrastructure as Code

インフラをコードでコントロールする

作業手順や設定内容がコードで管理できる

Page 18: DevOps 研修 初級編

Ruby`gem install chef`

https://docs.chef.io/ruby.html

Page 19: DevOps 研修 初級編

Chefの動作を見る

Page 20: DevOps 研修 初級編

DemoサンプルCookbookを動作させる

Page 21: DevOps 研修 初級編

DemoサンプルCookbookをもう一度動作させる

冪等性の確認

Page 22: DevOps 研修 初級編

Chefのツール群

Page 23: DevOps 研修 初級編

Chef Tools

Chef Server

Chef Client

Chef Solo

Page 24: DevOps 研修 初級編

Chef ServerChef 社の主力商品

サポートが充実すると料金が上がる

Node(適用先)の管理、Cookbook適用を行う

WebUIもオプションである

Workstationから操作も可能

http://docs.chef.io/server/

Page 25: DevOps 研修 初級編

Chef ServerWorkstation - Chef Server - Node

Page 26: DevOps 研修 初級編

Chef ClientNodeの内部で動作する

Cookbookを同期し、knifeコマンドをインストールする

Cookするためには必ずNodeにChef Clientのインストールが必要

Unix/Linux以外にWindows/Mac OS Xにも対応

https://www.chef.io/download-chef-client/

Page 27: DevOps 研修 初級編

Chef Soloオープンソース

https://github.com/matschaffer/knife-solo

Chef Serverを使うことなくCookbookをNodeに適用できる

Chef Serverほど機能や管理を求めないケースで用いる

sshもしくはlocalhostにて適用する

https://docs.chef.io/chef_solo.html

Page 28: DevOps 研修 初級編

Practice

https://chef.ioをみる

Page 29: DevOps 研修 初級編

Chefの使い方

Page 30: DevOps 研修 初級編

ディレクトリ構成- cookbooks

- nodes

- site-cookbooks

- [cookbook name]

- recipes

- templates

Page 31: DevOps 研修 初級編

重要なのは recipes- site-cookbooks

- [cookbook name]

- recipes

- default.rb

- xxxx.rb

Page 32: DevOps 研修 初級編

PracticeデモしたCookbookのディレクトリ構成を見る

https://github.com/shakesoulinc/sample-cookbooks

Page 33: DevOps 研修 初級編

PracticeResources Reference を見る

https://docs.chef.io/chef/resources.html

Page 34: DevOps 研修 初級編

群衆の叡智から学ぶ

Page 35: DevOps 研修 初級編

Chef Supermarket

Cookbookを登録・参照できる

サードパーティCookbookサイト

https://supermarket.chef.io/

Page 36: DevOps 研修 初級編

PracticeChef Supermarket を見る

https://supermarket.chef.io/

Page 37: DevOps 研修 初級編

PracticeChef Supermarket で好きなCookbookを見つける

Cookbookのソースを読む

Page 38: DevOps 研修 初級編

演習に向けての準備

Page 39: DevOps 研修 初級編

前提となる知識Linux(CentOS)オペレーションの経験

ssh login

Linux基本コマンド

パッケージインストール (ex. CentOSなら yum)

Page 40: DevOps 研修 初級編

やりながら学ぶ知識

Chef アーキテクチャ

Chef コマンド

基本的 Rubyスクリプト

Page 41: DevOps 研修 初級編

演習開始までに行ってほしいこと

疑問点をなくす

事前知識を得る

演習環境を整える

Page 42: DevOps 研修 初級編

疑問点をなくす今まで登場した単語、サービス名で意味がわからないものは、調べる or 質問して解消してください

ex. サービス名は検索してサービスページのAbout, Pricingページを参照する

質問は Contact 情報を活用ください

Page 43: DevOps 研修 初級編

事前知識を得るResources Reference(https://docs.chef.io/chef/resources.html) を一通り眺め、どんなことができるのか知る

Chef Supermarketから気に入ったCookbookを1つ以上見つける

そのCookbookの recipe, attribute のコードを読みどんな動作をさせているのかを想像する

Page 44: DevOps 研修 初級編

演習環境を整える

自分専用のLinuxマシンが2台あること

1台のChef実行マシンからNode(Chef適用先)へssh loginできること

ssh loginはキー認証で入れるとあとあと楽です

Page 45: DevOps 研修 初級編

Thanks!!

Q&A

Page 46: DevOps 研修 初級編

Contact

Blog hirofukami.com

Facebook /fukami

Twitter @d_sea

Mail [email protected]