Contenu connexe Similaire à Containers and Virtual Machines: Friends or Enemies? (20) Plus de Motonori Shindo (17) Containers and Virtual Machines: Friends or Enemies?2. ©2019 VMware, Inc. 2
コンピュートの抽象化の流れ
コンテナ
仮想マシン
ベアメタル
ファンクション
<Fn>
<Fn>
<Fn>
<Fn>
<Fn>
<Fn>
抽
象
化
の
粒
度
インフラからの独立度
IaaS
FaaS
CaaS
Hosting
今日のお話
3. ©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
6. ©2019 VMware, Inc. 6
オペレーティングシステムはハードウェア依存性を持っている
アプリケーション
オペレーティング
システム
ハードウェア
ハードウェア依存性
ドライバー:
• NIC
• ストレージ
• エージェント
• その他
7. ©2019 VMware, Inc. 7
仮想化でハードウェアに対する依存性を解決
アプリケーション
オペレーティング
システム
ハードウェア
仮想マシン
ハイパーバイザにより
OS に入れなければ
いけないドライバを削減
8. ©2019 VMware, Inc. 8
オペレーティングシステムはアプリケーション依存性も抱えている
アプリケーション
オペレーティング
システム
ハードウェア
アプリケーション依存性
• コード
• ランタイム
• システムツール
• システムライブラリ
• 設定
仮想マシン
9. ©2019 VMware, Inc. 9
コンテナでアプリケーション依存性を解決
アプリケーション
オペレーティング
システム
ハードウェア
コンテナ
コンテナはオペレーティング
システムを仮想化し、
オペレーティングシステムに
インストールしなければ
いけない依存部分を削減
仮想マシン
10. ©2019 VMware, Inc. 10
仮想マシンとコンテナは別の目的を持った別のテクノロジー
ハードウェアから
OS を抽象化
OS から
アプリケーションを抽象化 一つの OS の上で複数のアプリケーションを
動かすことが可能になった
一つのハードウェアで複数のOSを
動かすことが可能になった
アプリケーション
オペレーティング
システム
ハードウェア
コンテナ
vSphere
仮想マシン
Docker
13. ©2019 VMware, Inc. 14
A 社の IT チームはインフラ、Linux/ミドル、開発チームでタテ割りになった組織(サイロ)
社内のシステムの約9 割は vSphere で仮想化されている
デジタル変革(DX)を推進し、より顧客とフィードバックにフォーカスすることになった
• アジャイルな開発が求められる
それを実現するための技術としてコンテナと Kubernetes を採用することを決定!
よくある話:とある A 社での出来事
14. ©2019 VMware, Inc. 15
A 社の Linux チームが Kubernetes をベアメタル上で使う方針を決定
Linux チームの主張:
• クラウドネイティブなアプリケーションは HA や vMotion などの vSphere の機能はいらない
• コンテナは VM より軽量
• Kubernetes がリソース管理や HA といったハイパーバイザーが持つ機能を提供している
• 仮想化によるパフォーマンスの低下
• ハイパーバイザーをスタックから取り除くことにより複雑性とコストを削減できる
• インフラチームがアジャイルでない(セルフサービスでやりたい)
A 社のインフラチームが VMware に相談
ベアメタルでやるぞ!
17. ©2019 VMware, Inc. 18
複数クラスタ vs シングルクラスタ
隔離の柔軟性
仮想インフラ上に異なったクラスタを混在させることが可能
Kubernetes のクラスタで隔離を行うとリソースが有効に活用できない
• クラスタによる分割を行うと、多
くのハードウェアが必要となる、
リソースも有効に活用できない。
• リソースを有効に利用するために
シングルクラスタになりがち。
• さまざまな動機(アプリ、部門、
サービス、など)で自由にクラス
タ分離してもリソースが有効に利
用される。
K8S on vSphere
K8S on ベアメタル
18. ©2019 VMware, Inc. 19
HA、アドミッションコントロール、優先順位
コントロールプレーンの信頼性
vSphere HA はリカバリプロセスを自動化。リソースは常に保証されている
タイムアウト後に Pod は再作成されるが、
あらかじめ高い priority を設定しておく必要がある
• ノード障害時にはタイムアウト
(デフォルト5分)後に
Pod は再作成される
• 空いているリソースがなければ
Pod は再作成されない。
• 他の Pod よりも高い priority を
設定しておく必要がある
• K8S のコントローラコンポーネン
トや複雑なステートフルアプリ
ケーションは vSphere の HA の
メリットを享受できる
• vSphere の HA は常にリソースが
確保されている
K8S on vSphere
K8S on ベアメタル
19. ©2019 VMware, Inc. 20
マルチレベル スケジューリング vs 静的なスケジューリング
ワークロードのバランシング
• ワークロードの配置は Pod の
デプロイ時に決まる。
• 新たな Pod をデプロイする際に、
既存の Pod が追い出される
(preemption)場合はあるが、
他の契機でリバランシングが
行われることはない。
• DRS (Distributed Resource
Scheduler) が継続的に
ワークロードの配置を最適化。
K8S on vSphere
K8S on ベアメタル
DRS と組みわせて多段スケジューリングすることで継続的に最適化
配置は最初のデプロイ時に決まり、原則その後、変わることはない
20. ©2019 VMware, Inc. 21
A 社の Linux チームが Kubernetes をベアメタル上で使う方針を決定
Linux チームの主張:
• クラウドネイティブなアプリケーションはHA や vMotion などの vSphere の機能はいらない
• コンテナは VM より軽量
• Kubernetes がリソース管理や HA といったハイパーバイザーが持つ機能を提供している
• 仮想化によるパフォーマンスの低下
• ハイパーバイザーをスタックから取り除くことにより複雑性とコストを削減できる
• インフラチームがアジャイルでない(セルフサービスでやりたい)
A 社のインフラチームが VMware に相談
ベアメタルでやるぞ!
21. ©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/
22. ©2019 VMware, Inc. 23
最新の Kubernetes をどこでも!
23
オンプレ | ハイブリッド クラウド | パブリック クラウド
パッケージ SaaS
VMware PKS
23. ©2019 VMware, Inc. 24
最新の Kubernetes をどこでも!
24
オンプレ | ハイブリッド クラウド | パブリック クラウド
パッケージ SaaS
VMware Enterprise PKS
ターンキー: SDDC への
投資を最大限に活かした統合
ソリューション
VMware Essential PKS
カスタム: 自由なデザイン
とプロアクティブなサポート
VMware Cloud PKS
SaaS: マネージメント /
メンテナンスフリーで
クラスタを利用
24. ©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 coursewareSupport: Troubleshoot, repair
SDDC オープン
モニタリング Wavefront Prometheus
ストレージ vSAN
自動化 vRealize
適合性検査 Sonobuoy
Ingress / LB NSX-T Contour
サービスメッシュ NSX SM Istio
バックアップ/移行 BBR Velero
含まれるサービス
25. ©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
推奨される追加サービス
26. ©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
含まれるコンポーネント
27. ©2019 VMware, Inc. 28
仮想マシンとコンテナはそれぞれ別の目的を持ったテクノロジー。排他的なものではない。
Kubernetes 環境とハイパーバイザーは補完的な関係
• Kubernetes をベアメタル環境で使う場合は、ベアメタル環境に自動払い出し、管理・監視ツール、
エンジニアのスキルセットを用意すべし
VMware は包括的な Kubernetes ソリューションを提供しており、どのようなニーズの
お客様にも対応可能
Key Takeaway
Notes de l'éditeur Kubernetes is an open-source container-orchestration system for automating deployment, scaling and management of containerized applications.
Originally designed by Google, it was contributed to Cloud Native Computing Foundation (part of the Linux Foundation) in July 2015.
As an open source project, it seeks to provide a "platform for automating deployment, scaling, and operations of application containers across clusters of hosts."
Kubernetes has become the de facto container orchestrator today, and is beginning to see adoption from IT organizations across most industries.
On behalf of Dell Technologies, VMware is proud to be a major sponsor of and contributor to the Kubernetes community through our work with the CNCF Real research done by a consultancy firm shows that on-average it takes an enterprise organisation 86 days from the moment of inception to the light—on, ready to consume state.