Chefで始めるWindows Server構築

29
2016年9月10日 System Center User Group Japan 金井 Copyright © 2016 System Center User Group Japan. All Rights Reserved.
  • Upload

    -
  • Category

    Software

  • view

    719
  • download

    0

Transcript of Chefで始めるWindows Server構築

Page 1: Chefで始めるWindows Server構築

2016年9月10日

System Center User Group Japan

金井 崇

Copyright © 2016 System Center User Group Japan. All Rights Reserved.

Page 2: Chefで始めるWindows Server構築

名前:金井 崇

所属:株式会社IDCフロンティア

仕事:2008年からクラウド(IaaS)インフラの設計・構築・運用を担当。最近はオールフラッシュやGPUなどIaaSの強化を担当。Chefを使った基盤の設計・構築も過去に実施。

SNSなど: Facebook https://www.facebook.com/anikundesu

Blog http://www.takanyan.net/

Twitter @anikundesu

LinkedIn https://jp.linkedin.com/in/takashikanai/ja

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 1

Page 3: Chefで始めるWindows Server構築

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 2

内容は当社クラウドに関することが多いですが、私の担当は、本日の主題でもある「Chef」について。

以下のような疑問への答えが、あるかも。

• クラウドでインスタンス作成・ミドルウェア構築・リリースまで全自動で実行する方法

• 本日扱わない、Linux系OSの自動構築方法• Chef以外の構築自動化ツールの利用方法

Page 4: Chefで始めるWindows Server構築

9月10日

今日は何の日?

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 3

Page 5: Chefで始めるWindows Server構築

9月10日ク(9)ラウド(10)の日

※一般社団法人日本記念日協会認定(2016/9/9)http://itpro.nikkeibp.co.jp/atcl/news/16/090902638/

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 4

Page 6: Chefで始めるWindows Server構築

本セッションは、Windows10 Insider Preview(Fast Ring、タイミングによりバージョンが異なる)とWindows Server

2016 Technical Preview 5での検証結果をもとに記述をしています。正式版では挙動が異なる場合がありますので、ご留意ください。

本セッション資料は、個人で準備した環境において、個人的に実施した検証/結果を基に記載しています。

あくまで個人の意見/見解であり、所属する会社/組織及びマイクロソフト社とは関係がございません。

所属する会社/組織/マイクロソフト社の正式な回答/見解ではない事に留意してください。

また、本資料を閲覧した事により問題が生じた場合、または問題が発生しかけた場合、または生じた一切の不利益について、発表者は一切の責任を負う事はできませんのでご了承ください。

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 5

Page 7: Chefで始めるWindows Server構築

1. Chef Overview• Chefとは何か

• なぜChefを使うのか

• ChefとWindows

2. Chef環境の構築• Chef Serverの構築

• Chef Workstationの構築

• ChefからWindows Serverを自動構築

3. Chef開発環境の整備• Windows Subsystem for Linux

• Visual Studio Code

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 6

Page 8: Chefで始めるWindows Server構築

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 7

Page 9: Chefで始めるWindows Server構築

構築・構成管理の自動化ツール

オープンソースソフトウェア

管理サーバー(Chef Server)で構成を一括管理

Agent(Chef Client)がサーバーから構成を取得(Pull)

開発はChef Workstationで行う

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 8

Chef開発環境(Workstation)

構成管理(Server)

管理対象Agent(Client)

Page 10: Chefで始めるWindows Server構築

Chef Workstationで設計書であるCookbookを開発

手動or定期的にChef Clientが設計書を取得して実行

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 9

Cookbook(設計書)

Dev Ops

(Devploy)

Page 11: Chefで始めるWindows Server構築

Cookbook:Rubyで記述した特定の操作・ソフトの設計書

Role :Cookbook、Recipeを束ねた役割(Web、DBなど)

Knife :Chefに指示を出すためのコマンド

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 10

Cookbook

Metadata(名称、バージョンなど)

Recipes(操作の指示)

Attributes(変数の指示)

Resources (操作する対象・Action・変数)

Execute(コマンド実行)

File(File操作)

Packages(アプリ導入)

Templates(変数有File)

Service(起動・停止)

etc….

Providers(OS抽象化)

Libraries(補助Script)

OS(Client)

指示

抽象化 補助

Page 12: Chefで始めるWindows Server構築

DevOps◦ インフラをコードで記述→“Infrastructure as Code”◦ Code Test手法が使える→“Test Driven Infrastructure”

Open Source◦ Open Sourceのコミュニティの力を使える◦ Chef”エコシステム”が出来ている

シームレス◦ Windows, Linux両方で使える◦ クラウドでもオンプレでも使える

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 11

Page 13: Chefで始めるWindows Server構築

ChefはWindowsをフルサポート◦ Cookbook開発はWindows/Linuxで同等に可能

◦ PowerShell DSC対応

◦ Azure RM対応ツール群(テストツールなど)

◦ リモートコマンド実行はwinrm, ssh両方対応

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 12

“Together, Chef and Microsoft are empowering DevOps adoption in the enterprise with integrated technologies that improve collaboration and speed software

development.”- Jeffrey Snover, Technical Fellow and Lead Architect for Windows Server, Microsoft

Page 14: Chefで始めるWindows Server構築

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 13

Page 15: Chefで始めるWindows Server構築

Chef ClientChef ServerChef Workstation

Windows10 ProノートPC上のHyper-Vで構成

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 14

• Windows10 Pro上のBash on Ubuntu• Cookbook開発はVisual Studio Code• Hyper-Vのホストを兼務

• Windows10 Pro上のVM• CentOS 7.2• ホスト名はChefServer

• Windows10 Pro上のVM• Windows Server 2016 TP5• ホスト名はWin2016TP5-chef

Page 16: Chefで始めるWindows Server構築

Chef ServeはLinux系OS上にのみ構築可能

Chef本家サイトにある手順で実行https://docs.chef.io/install_server.html

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 15

Page 17: Chefで始めるWindows Server構築

DEMO 1

Chef ServerのWebコンソールを見てみる

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 16

Page 18: Chefで始めるWindows Server構築

LinuxでもWindowsでも構築可能

Windowsだと文字のエスケープ等で難あり

Windows Subsystem for Linuxという手もある

Windows10上でBash on Ubuntuを呼び出して構築https://docs.chef.io/install_dk.html

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 17

Page 19: Chefで始めるWindows Server構築

DEMO 2

Bash on Ubuntu on Windows10で構築した

Chef Workstationでのknifeコマンド実行

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 18

Page 20: Chefで始めるWindows Server構築

<事前準備>◦ Windows ServerにIPアドレスを設定

◦ “winrm quickconfig”でリモート管理を有効化

◦ 名前解決ができるようChef Serverのhostsを編集

◦ Windows用Cookbookを開発

<構築時の操作>

“knife bootstrap”コマンド

⇒Chef ClientのインストールからCookbook実行を自動化

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 19

Page 21: Chefで始めるWindows Server構築

DEMO 3

Chef cookbookを実行してWindows Server 2016 TP5へ

(1) IISの役割のインストール

(2) IISで公開するコンテンツ展開を実行

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 20

Page 22: Chefで始めるWindows Server構築

Cookbookの更新(開発)

Chef Serverへのアップロード$ git add (更新したファイル)

$ git commit –m “コメント”

$ knife cookbook upload (Cookbook名)

Chef Clientプログラムの実行(Workstationから)$ knife winrm ‘name:(Clientのホスト名)' 'chef-client' -x Administrator

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 21

Page 23: Chefで始めるWindows Server構築

DEMO 4

Chef cookbookを実行してWindows Server 2016 TP5へ

(1) IIS Cookbookのコンテンツを編集

(2) ClientでのCookbook再実行

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 22

Page 24: Chefで始めるWindows Server構築

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 23

Page 25: Chefで始めるWindows Server構築

Windows10 build 14393から利用可能

Windows10上にUbuntu 14.04が!

導入手順はMSDNの下記URLを参照https://msdn.microsoft.com/ja-jp/commandline/wsl/install_guide

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 24

Page 26: Chefで始めるWindows Server構築

Windows, Linux, Mac OSで動く

Chef用拡張プラグインもある

Windowsでの導入手順はこちらhttps://code.visualstudio.com/docs/setup/windows

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 25

Page 27: Chefで始めるWindows Server構築

デフォルトのTerminalはcmd.exe

設定変更は「ファイル」>「基本設定」>「ユーザー設定」

以下の内容をsettings.jsonに記述

統合Terminalでのコピー&ペーストは「Ctrl+Shift+c (or v)」

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 26

{"terminal.integrated.shell.windows": "C:¥¥Windows¥¥sysnative¥¥bash.exe","termnial.integrated.shell.unixlike": "bash.exe"

}

Page 28: Chefで始めるWindows Server構築

“DevOps”と”Open Source”の流れは止まらない

運用の自動化・Code化が進む

インフラをCodeで扱うことに慣れていくことが重要

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 27

Page 29: Chefで始めるWindows Server構築

Chef本家のドキュメントサイトhttps://docs.chef.io/

クラウド時代のシステム管理(私の個人Blog)http://www.takanyan.net/

Copyright © 2016 System Center User Group Japan. All Rights Reserved. 28