Hyper-V、オンプレミスでもコンテナを

519 Views

August 29, 18

スライド概要

2018年8月29日「トレノケ雲の会」雲の通ひ路
Windows ServerでもDockerベースのコンテナが使えるようになりました。このセッションでは、Windowsで使えるコンテナの種類を説明し、選択基準を紹介します。

profile-image

トレノケート株式会社で、Windows ServerとAzureを中心に技術者向けトレーニングを担当

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Hyper-V、オンプレミスでもコンテナを 横山 哲也 Microsoft MVP トレノケート株式会社 (旧グローバルナレッジネットワーク) https://www.trainocate.co.jp

2.

自社紹介: トレノケート(Trainocate) Trainocate (トレノケート) Training + Advocate(先導者) かばん語(portmanteau)の一種 2

3.

自己紹介: 横山 哲也 (トレノケート株式会社)  2003年~ マイクロソフトMVP  だいたいDirectory Servicesで受賞  2017年からはCloud and Datacenter Management  最近の著書(いずれも日経BP)  ひと目でわかるAzure 基本から学ぶサーバー&ネットワーク構築 改訂新版  グループポリシー逆引きリファレンス厳選98(監修・共著)  ブログ: ヨコヤマ企画 http://yp.g20k.jp/  好きなクラウドサービス: 仮想マシンテンプレート  好きなアイドル: まなみのりさ  好きなシンガーソングライター: 宮崎奈穂子 3

4.

Agenda  今日の目標  Windowsで使えるコンテナの種類を識別する  コンテナについてもっと考える  Agenda  Windowsで使えるコンテナ  仮想化アーキテクチャ  Windowsでコンテナを使う方法  Windowsでコンテナを使う意味  そもそものコンテナの目的  結論 4

5.

Windowsで使えるコンテナ  Docker for Windows (by Docker Inc.)  Hyper-Vベース  WSL(Windows Subsystem for Linux)ベース  Docker互換コンテナー (by Microsoft)  Windowsコンテナー  Hyper-Vコンテナー どれを使えばいいのか分からない まだ、これからも増えるのでは? 理屈が分かれば応用がきく 5

6.

仮想化アーキテクチャ  タイプ1仮想化  タイプ2仮想化  コンテナ 6

7.

仮想化アーキテクチャ:タイプ1仮想化  ハードウェア仮想化 = ハイパーバイザー方式  スーパーバイザー(OS)よりもハードウェア寄り  ホストとゲストを完全分離  利用例  System 370 (1972年)  VMware ESXi  Hyper-V (物理OSは親パーティションとなる) ホスト OS(親) ゲスト OS 仮想HW ゲスト OS 仮想HW ゲスト OS 仮想HW ゲスト OS 仮想HW ゲスト OS 仮想HW ハイパーバイザー(Hyper-V) ハイパーバイザー ハードウェア ハードウェア 7

8.

仮想化アーキテクチャ:タイプ2仮想化  ソフトウェア仮想化 = ホスト方式  すべてをソフトウェアでエミュレート  ホストとゲストを完全分離 (オーバーヘッド大)  利用例  VMware GSX  Microsoft Virtual Server  【参考】x86プロセッサ  オリジナル命令セットでは タイプ1仮想化困難  Intel VT-x / AMD-V 拡張 タイプ2仮想化サポート ゲスト OS 仮想HW ゲスト OS 仮想HW ゲスト OS 仮想HW 仮想化機能 ホストOS ハードウェア 8

9.

仮想化アーキテクチャ:コンテナ  パーティショニング ≒ コンテナ  「パーティショニング」はさまざまな意味で使われる  ゲストは、カーネル機能の一部をホストと共有  ゲストが軽量  利用例  Docker  制約  ホストとゲストは同一OS 共有 ゲスト OS ゲスト OS ゲスト OS コンテナサポート ホストOS ハードウェア 9

10.

仮想化アーキテクチャ:まとめ  タイプ1仮想化  タイプ2仮想化  コンテナ ゲスト OS 仮想HW ゲスト OS 仮想HW ゲスト OS ゲスト OS 仮想HW ハイパーバイザー ハードウェア  重い  ホスト/ゲスト分離  ホストOSに一部依存 (実装依存) ゲスト OS 仮想HW ゲスト OS 仮想化機能 コンテナサポート ホストOS ホストOS ハードウェア ハードウェア  もっと重い  ホスト/ゲスト分離  ホストOSに依存  軽い  ホスト/ゲスト結合  ホストOSに依存 10

11.

仮想化アーキテクチャ:もう1つの仮想化(環境サブシステム)  環境サブシステム: WindowsのAPI実装方法  カーネルを構築するわけではない  一種のAPIゲートウェイ  必須の環境サブシステム  Windows環境サブシステム(GUI担当)  オプションの環境サブシステム  Windows Subsystem for Linux (WSL)  廃止された環境サブシステム  OS/2環境サブシステム...OS/2 1.1互換  POSIX環境サブシステム...POSIX 1.0互換  Windows Services for UNIX (SFU)...Interix由来  Subsystem for UNIX-based Applications (SUA) 11

12.

仮想化アーキテクチャ:環境サブシステムの特徴  画面操作はWindows環境サブシステムに依頼  APIのみ提供 POSIX Windows Linux  カーネルは提供しない  機能制限あり App. App. App. OS/2 サブシステム Windows環境 サブシステム WSL - 例:WSLのネットワーク  EXEヘッダーに サブシステム指定  つまりWindows形式  他のOSとは非互換  WSLはUbuntu互換 - Win32アプリ起動可 Executiveサービス マイクロカーネル HAL(ハードウェア抽象化層) ハードウェア 12

13.

以上をふまえて 13

14.

Windowsでコンテナを使う方法  Docker for Windows (by Docker Inc.)  Hyper-Vベース http://www.atmarkit.co.jp/ait/articles/1609/01/news053.html - 以前のバージョンはVirtualBoxで動作  WSL(Windows Subsystem for Linux)ベース http://www.nuits.jp/entry/docker-on-wsl - 非サポート、ネットワーク周りで動作しない機能あり  コンテナー (by Microsoft)  Windowsコンテナー - Windows Server 2016のみ  Hyper-Vコンテナー - Windows 10 - Windows Server 2016 http://www.atmarkit.co.jp/ait/articles/1610/26/news042.html 14

15.

Windowsでコンテナを使う方法:各コンテナの特徴 Docker Microsoft Hyper-V WSL Hyper-V Windows ○ × ○ ○ 対象OS Linux Linux Windows/Linux Windows 軽量性 × ○ × ○ 隔離性 ○ × ○ × サポート  結論  Docker互換を最優先...純正Docker(Hyper-V)  軽量Linux...Docker(WSL) ただし非サポート  隔離Linux...Hyper-Vコンテナー/Docker(Hyper-V)  軽量Windows...Windowsコンテナー  隔離Windows...Hyper-Vコンテナー 15

16.

Windowsでコンテナを使う意味  Linuxを使いたい  別にWindowsホストを使わなくても...  Windowsを使いたい  GUIは、原則使えないけどいいの? 16

17.

Windowsでコンテナを使う意味:これからのWindows (想像)  マルチパーソナリティ  Windows NT 3.1(1993年)の設計目標を実現  WSLのサーバー対応  WindowsもLinuxもどちらのアプリケーションも実行  Linux以上に使いやすいLinux環境  コードによる構成の強化  Server Coreの標準化  宣言的構成の強化  履歴管理の強化  コンテナエンジンとしてのWindows 17

18.

そもそものコンテナの目的  Infrastructure as Code  IT基盤にソフトウェア開発技法を適用 - コードによる自動化 - 宣言的構成の強化による安定運用...あるべき姿の記述 - バージョン管理、テスト、展開、デザインパターンの考え方  Immutable Infrastructure  一度作ったサーバーは変更しない  変更するのではなく作り直す  使い捨てのインフラストラクチャー 18

19.

そもそものコンテナの目的:DockerとKubernetes  Docker  イメージ作成は基本的にコマンド = コードで作る  イメージはライブラリとして、履歴を含めて管理  実行中のイメージは差し替えるか停止するかどちらか 保守作業はあまりしない = イミュータブル  Kubernetes  Dockerイメージの展開・実行・運用管理  Docker管理のツール 管理作業が意外に多い クラウドに任せたい 19

20.

結論 天津風(あまつかぜ) 雲の通ひ路(かよひじ)吹き閉ぢよ をとめの姿 しばしとどめむ 僧正遍昭 クラウドサービスが動いていても 通信経路に障害があると使い物にならない しばらくはオンプレミスでやってみよう しばらく使うのはいいが、 結局はクラウドに帰ることになるだろう 20

21.

まとめ  今日の目標  Windowsで使えるコンテナの種類を識別する  コンテナについてもっと考える  Agenda  Windowsで使えるコンテナ  仮想化アーキテクチャ  Windowsでコンテナを使う方法  Windowsでコンテナを使う意味  そもそものコンテナの目的  結論「コンテナはクラウドの方が良い」 21