Slide 1

Slide 1 text

©2019 VMware, Inc. コンテナと仮想マシン、 敵か味⽅か︕︖ 最適な Kubernetes プラットフォームとは 進藤 資訓 (@motonori_shindo) ヴイエムウェア(株) CTO, North Asia 2019.04.16

Slide 2

Slide 2 text

©2019 VMware, Inc. 2 コンピュートの抽象化の流れ コンテナ 仮想マシン ベアメタル ファンクション 抽 象 化 の 粒 度 インフラからの独⽴度 IaaS FaaS CaaS Hosting

Slide 3

Slide 3 text

©2019 VMware, Inc. 3 物理 vs 仮想マシン vs コンテナ Hardware Host OS (Hypervisor) Guest OS Hardware Host OS (Linux) App Container Engine App App Guest OS Guest OS App App App 仮想マシン コンテナ ハードウェア を抽象化 OSを 抽象化 Lib Lib Lib Lib Lib Lib Hardware OS App App App 物理(仮想化なし) Lib

Slide 4

Slide 4 text

©2019 VMware, Inc. 4 どちらがいいの︖ コンテナ 仮想マシン VS

Slide 5

Slide 5 text

©2019 VMware, Inc. 5 アプリケーション スタック アプリケーション オペレーティング システム ハードウェア

Slide 6

Slide 6 text

©2019 VMware, Inc. 6 オペレーティングシステムはハードウェア依存性を持っている アプリケーション オペレーティング システム ハードウェア ハードウェア依存性 ドライバー︓ • NIC • ストレージ • エージェント • その他

Slide 7

Slide 7 text

©2019 VMware, Inc. 7 仮想化でハードウェアに対する依存性を解決 アプリケーション オペレーティング システム ハードウェア 仮想マシン ハイパーバイザにより OS に⼊れなければ いけないドライバを削減

Slide 8

Slide 8 text

©2019 VMware, Inc. 8 オペレーティングシステムはアプリケーション依存性も抱えている アプリケーション オペレーティング システム ハードウェア アプリケーション依存性 • コード • ランタイム • システムツール • システムライブラリ • 設定 仮想マシン

Slide 9

Slide 9 text

©2019 VMware, Inc. 9 コンテナでアプリケーション依存性を解決 アプリケーション オペレーティング システム ハードウェア コンテナ コンテナはオペレーティング システムを仮想化し、 オペレーティングシステムに インストールしなければ いけない依存部分を削減 仮想マシン

Slide 10

Slide 10 text

©2019 VMware, Inc. 10 仮想マシンとコンテナは別の⽬的を持った別のテクノロジー ハードウェアから OS を抽象化 OS から アプリケーションを抽象化 ⼀つの OS の上で複数のアプリケーションを 動かすことが可能になった ⼀つのハードウェアで複数のOSを 動かすことが可能になった アプリケーション オペレーティング システム ハードウェア コンテナ vSphere 仮想マシン Docker

Slide 11

Slide 11 text

©2019 VMware, Inc. 12

Slide 12

Slide 12 text

©2019 VMware, Inc. 13 さまざまな議論があります

Slide 13

Slide 13 text

©2019 VMware, Inc. 14 A 社の IT チームはインフラ、Linux/ミドル、開発チームでタテ割りになった組織(サイロ) 社内のシステムの約9 割は vSphere で仮想化されている デジタル変⾰(DX)を推進し、より顧客とフィードバックにフォーカスすることになった • アジャイルな開発が求められる それを実現するための技術としてコンテナと Kubernetes を採⽤することを決定︕ よくある話︓とある A 社での出来事

Slide 14

Slide 14 text

©2019 VMware, Inc. 15 A 社の Linux チームが Kubernetes をベアメタル上で使う⽅針を決定 Linux チームの主張︓ • クラウドネイティブなアプリケーションは HA や vMotion などの vSphere の機能はいらない • コンテナは VM より軽量 • Kubernetes がリソース管理や HA といったハイパーバイザーが持つ機能を提供している • 仮想化によるパフォーマンスの低下 • ハイパーバイザーをスタックから取り除くことにより複雑性とコストを削減できる • インフラチームがアジャイルでない(セルフサービスでやりたい) A 社のインフラチームが VMware に相談 ベアメタルでやるぞ︕

Slide 15

Slide 15 text

©2019 VMware, Inc. 16 Back to 2005 merchoid.com

Slide 16

Slide 16 text

©2019 VMware, Inc. 17 データセンターの ハードウェア調達に 必要な時間の平均 86日

Slide 17

Slide 17 text

©2019 VMware, Inc. 18 複数クラスタ vs シングルクラスタ 隔離の柔軟性 仮想インフラ上に異なったクラスタを混在させることが可能 Kubernetes のクラスタで隔離を⾏うとリソースが有効に活⽤できない • クラスタによる分割を⾏うと、多 くのハードウェアが必要となる、 リソースも有効に活⽤できない。 • リソースを有効に利⽤するために シングルクラスタになりがち。 • さまざまな動機(アプリ、部⾨、 サービス、など)で⾃由にクラス タ分離してもリソースが有効に利 ⽤される。 K8S on vSphere K8S on ベアメタル

Slide 18

Slide 18 text

©2019 VMware, Inc. 19 HA、アドミッションコントロール、優先順位 コントロールプレーンの信頼性 vSphere HA はリカバリプロセスを⾃動化。リソースは常に保証されている タイムアウト後に Pod は再作成されるが、 あらかじめ⾼い priority を設定しておく必要がある • ノード障害時にはタイムアウト (デフォルト5分)後に Pod は再作成される • 空いているリソースがなければ Pod は再作成されない。 • 他の Pod よりも⾼い priority を 設定しておく必要がある • K8S のコントローラコンポーネン トや複雑なステートフルアプリ ケーションは vSphere の HA の メリットを享受できる • vSphere の HA は常にリソースが 確保されている K8S on vSphere K8S on ベアメタル

Slide 19

Slide 19 text

©2019 VMware, Inc. 20 マルチレベル スケジューリング vs 静的なスケジューリング ワークロードのバランシング • ワークロードの配置は Pod の デプロイ時に決まる。 • 新たな Pod をデプロイする際に、 既存の Pod が追い出される (preemption)場合はあるが、 他の契機でリバランシングが ⾏われることはない。 • DRS (Distributed Resource Scheduler) が継続的に ワークロードの配置を最適化。 K8S on vSphere K8S on ベアメタル DRS と組みわせて多段スケジューリングすることで継続的に最適化 配置は最初のデプロイ時に決まり、原則その後、変わることはない

Slide 20

Slide 20 text

©2019 VMware, Inc. 21 A 社の Linux チームが Kubernetes をベアメタル上で使う⽅針を決定 Linux チームの主張︓ • クラウドネイティブなアプリケーションはHA や vMotion などの vSphere の機能はいらない • コンテナは VM より軽量 • Kubernetes がリソース管理や HA といったハイパーバイザーが持つ機能を提供している • 仮想化によるパフォーマンスの低下 • ハイパーバイザーをスタックから取り除くことにより複雑性とコストを削減できる • インフラチームがアジャイルでない(セルフサービスでやりたい) A 社のインフラチームが VMware に相談 ベアメタルでやるぞ︕

Slide 21

Slide 21 text

©2019 VMware, Inc. 22 CNCF Survey conducted in March and November 2018 実際ワークロードはどこで動いている︖ 引⽤: https://www.cncf.io/blog/2018/11/13/cncf-survey-china-november-2018/

Slide 22

Slide 22 text

©2019 VMware, Inc. 23 最新の Kubernetes をどこでも︕ 23 オンプレ | ハイブリッド クラウド | パブリック クラウド パッケージ SaaS VMware PKS

Slide 23

Slide 23 text

©2019 VMware, Inc. 24 最新の Kubernetes をどこでも︕ 24 オンプレ | ハイブリッド クラウド | パブリック クラウド パッケージ SaaS VMware Enterprise PKS ターンキー︓ SDDC への 投資を最⼤限に活かした統合 ソリューション VMware Essential PKS カスタム︓ ⾃由なデザイン とプロアクティブなサポート VMware Cloud PKS SaaS︓ マネージメント / メンテナンスフリーで クラスタを利⽤

Slide 24

Slide 24 text

©2019 VMware, Inc. 25 コンテナ管理のターンキーソリューション VMware Enterprise PKS vSphere | Hybrid Cloud | Public Cloud アップストリーム版 Kubernetes 含まれるコンポーネント︓ 統合、検証され、セキュア ライフサイクル管理 [BOSH] レジストリ [Harbor] ネットワーク [NSX-T] 補完コンポーネント (⼀部) Pivotal Platform Dojo: CI/CD integration 推奨される追加サービス Training: Private, role-specific courseware Support: Troubleshoot, repair SDDC オープン モニタリング Wavefront Prometheus ストレージ vSAN ⾃動化 vRealize 適合性検査 Sonobuoy Ingress / LB NSX-T Contour サービスメッシュ NSX SM Istio バックアップ/移⾏ BBR Velero 含まれるサービス

Slide 25

Slide 25 text

©2019 VMware, Inc. 26 カスタマイズ可能な Kubernetes 基本サービス VMware Essential PKS Bare Metal | vSphere | Public Cloud アップストリーム版 Kubernetes 必要なコンポーネント アーキテクト︓接敵、デプロイ、開発 必要となる追加サービス トレーニング︓ 個別、ロール別コース ライフサイクル管理 [kubeadm, Cluster API] レジストリ [Harbor, Quay] ネットワーク [NSX-T, Flannel, Calico] サポート︓アップグレード、パッチ、 メンテナンス 含まれるサービス 補完コンポーネント (⼀部) SDDC オープン モニタリング Wavefront Prometheus ストレージ vSAN ⾃動化 vRealize 適合性検査 Sonobuoy Ingress / LB NSX-T Contour バックアップ/移⾏ Velero 推奨される追加サービス

Slide 26

Slide 26 text

©2019 VMware, Inc. 27 Kubernetes を SaaS で提供 VMware Cloud PKS AWS | VMC (coming) | Azure (coming) なし 必要となる追加サービス なし サポートとオペレーション︓ アップグレード、パッチ、ヘルス管理 含まれるサービス 補完コンポーネント(⼀部) CSP/VMware オープン モニタリング Wavefront Prometheus ストレージ AWS EBS ⾃動化 Cluster API 適合性検査 Sonobuoy Ingress/LB Contour Nginx バックアップ/移⾏ Velero 推奨される追加サービス ライフサイクル管理 レジストリ ネットワーク サービスメッシュ ポリシー アップストリーム版 Kubernetes 含まれるコンポーネント

Slide 27

Slide 27 text

©2019 VMware, Inc. 28 仮想マシンとコンテナはそれぞれ別の⽬的を持ったテクノロジー。排他的なものではない。 Kubernetes 環境とハイパーバイザーは補完的な関係 • Kubernetes をベアメタル環境で使う場合は、ベアメタル環境に⾃動払い出し、管理・監視ツール、 エンジニアのスキルセットを⽤意すべし VMware は包括的な Kubernetes ソリューションを提供しており、どのようなニーズの お客様にも対応可能 Key Takeaway

Slide 28

Slide 28 text

Thank You ©2019 VMware, Inc.