SlideShare a Scribd company logo
1 of 13
Download to read offline
Copyright©2018 NTT corp. All Rights Reserved.
2019/5/30
日本電信電話株式会社
ソフトウェアイノベーションセンタ
徳永 航平
Docker Meetup Tokyo #30
5分で振り返るKubeCon EU 2019:
ランタイムとイメージの話題ダイジェスト
2Copyright©2018 NTT corp. All Rights Reserved.
自己紹介
名前 徳永 航平
所属 NTT ソフトウェアイノベーションセンタ
興味 コンテナランタイム、イメージ
3Copyright©2018 NTT corp. All Rights Reserved.
KubeCon+CloudNativeCon EU 2019
May 20 – 23, 2019
@Fira Gran Via, Barcelona, Spain
ランタイム・イメージ中心に情報収集をしてきました
 それら話題のうちのいくつかを紹介します。
 各セッションについては、特に印象深かった話題を扱います。完
全な内容はYoutube上のセッション動画等をご参照ください。各
スライドに動画URLを掲載しました。
4Copyright©2018 NTT corp. All Rights Reserved.
目次
イメージランタイム
ランタイム紹介
セキュリティ
マイグレーション
イメージビルダ
セキュリティ
イメージ配布技術
5Copyright©2018 NTT corp. All Rights Reserved.
目次
イメージランタイム
ランタイム紹介
セキュリティ
マイグレーション
イメージビルダ
セキュリティ
イメージ配布技術
6Copyright©2018 NTT corp. All Rights Reserved.
Session
ランタイム紹介系セッション
Let's Try Every CRI Runtime Available for Kubernetes. No, Really!
- Phil Estes, IBM
Let's Try Every CRI Runtime Available for Kubernetes. No, Really! - Phil Estes, IBM. https://www.youtube.com/watch?v=FKoVztEQHss ;
Intro + Deep Dive: containerd - Wei Fu, Alibaba & Mike Brown, IBM.https://www.youtube.com/watch?v=mX0YCODcBZo
主流のランタイム。ツー
ルが充実している一方、
k8sの要求以上の機能を
持ちリソースも多く消費。
Dockerの一部として既
に 使 わ れ て い る 。
Docker socketを持たな
いが省リソース高拡張性。
OpenShiftなどで使われ
る。k8sのランタイムと
して必要な最小限の機能
を持つ。拡張性は限定的。
OpenStack配
下 。 K V M /
qemuベースの
VMをPodとし
て使うセキュア
ラ ン タ イ ム 。
Rustで書かれた
軽 量 V M M 。
s hi m を 用 い て
containerdと統
合。 serverless
領 域 を 志 向 。
ユーザ空間カー
ネルでsyscall
発行数を削減し
たランタイム。
Google Cloud
R u n に 導 入 。
H P C / 学 術 に
フ ォ ー カ ス 。
rootless実行可。
最近OCIに対応
し、専用のCRI
実 装 も あ り 。
unikernelを用
い、syscall発
行数を削減した
ランタイム。専
用にビルドした
イメージ必要。
Kata
Containers
Firecracker gVisor Singularity
Nabla
Containers
New!
7Copyright©2018 NTT corp. All Rights Reserved.
Session
Kata
VMM
kind: Pod
spec:
runtimeClassName: kata
…
Pod毎にランタイムを指定可
ランタイムセキュリティ系セッション
Surviving Serverless Battle By Secure Runtime, CRI and RuntimeClass
- Xiaoyu Zhang & Lei Zhang, Alibaba
Tailor-Made Security: Building a Kubernetes Specific Hypervisor
- Samuel Ortiz, Intel & Andreea Florescu, Amazon
Surviving Serverless Battle By Secure Runtime, CRI and RuntimeClass - Xiaoyu Zhang & Lei Zhang. https://www.youtube.com/watch?v=2_je65FCltk ;
Tailor-Made Security: Building a Kubernetes Specific Hypervisor - Samuel Ortiz & Andreea Florescu. https://www.youtube.com/watch?v=t41Bh_sIVDQ
※Kubernetesと高レ
ベルランタイム側で、
事 前 に 設 定 が 必 要
…
※KnativeやKubeless
などのservelessプロ
ジ ェ ク ト に お い て は
RuntimeClass未対応
RuntimeClass
gVisor Nabla runc
NEMU
Firecracker
デフォルト。幅広く
あらゆるデバイスに
も対応するが大きす
ぎて攻撃面が広い。
QEMU
QEMUに対し、クラ
ウドのワークロード
向けにサポートする
機能を絞ったもの。
Serverless向けに非
常に限定的な機能の
み提供。コードベー
ス は 小 さ い 。
VMMの選択肢
…
8Copyright©2018 NTT corp. All Rights Reserved.
Session
Dockerからcontainerdへのマイグレ
Lessons Learned Migrating Kubernetes from Docker to containerd Runtime
- Ana Calin, Paybase
Lessons Learned Migrating Kubernetes from Docker to containerd Runtime - Ana Calin, Paybase. https://www.youtube.com/watch?v=uDOu6rK4yOk
Azure AKS、GKEで
containerdがサポー
トされている。発表
で は G K E 上 で
containerdを利用す
るためのコマンド実
行 手 順 を 紹 介 。
性能の定量比較を示
し、Pod起動レイテ
ンシはcontainerdの
方が低く、CPU,メモ
リ使用量についても
containerdの方が低
く抑えられると紹介。
Dockerほど多くの
サポートツールのな
い c o n t a i n e r d
に お い て ト ラ ブ ル
シュート時に有用な
ツールとしてctr、
crictlコマンドを紹介。
機 能 の 削 減 さ れ た
containerdの方が
Dockerに比べ攻撃
面が小さい。またセ
キュリティ監査も受
けているためセキュ
アである点を強調。
マイグレ方法 有用ツール 性能比較 セキュリティ
Dockerとcontainerdをマイグレーションの観点から比較
9Copyright©2018 NTT corp. All Rights Reserved.
目次
イメージランタイム
ランタイム紹介
セキュリティ
マイグレーション
イメージビルド
セキュリティ
イメージ配布技術
10Copyright©2018 NTT corp. All Rights Reserved.
Session
イメージビルド系セッション
Building Images Efficiently and Securely on Kubernetes with BuildKit
- Akihiro Suda, NTT Corporation
Rootless, Reproducible, and Hermetic: Secure Container Build Showdown
- Andrew Martin, Control Plane
Building Images Efficiently and Securely on Kubernetes with BuildKit - Akihiro Suda, NTT Corporation.
https://www.youtube.com/watch?v=JKbPzUnAZ1Y ; Rootless, Reproducible, and Hermetic: Secure Container Build Showdown - Andrew
Martin, Control Plane. https://www.youtube.com/watch?v=IpMPRC-ybJI
コンテナをセキュアにビルドするための観点
ホスト上でランタイム
などがrootユーザにな
らない。また、ビルド
時のRUNコマンドが
namespace内でroot
権 限 を 持 た な い 。
rootless
ビルド中に非決定的な
外部ネットワークを利
用しない。どこでビル
ドしても全く同じ結果
を得る。また署名可能
にし改ざんを防止する。
再現性
各ビルドコンテキスト
が独立に隔離されてお
り互いの状態に影響さ
れない。マルチテナン
ト時にビルド基盤を共
有 可 能 に な る 。
気密性
いろいろなビルドツールの紹介
Buildkit Img LXC umoci
buildah makisu Bazel
Google
Cloud Build
Kaniko
どれもrootlessだが再現性、気密性には課題がある
11Copyright©2018 NTT corp. All Rights Reserved.
Session
イメージセキュリティ系セッション
Reenforce Kubernetes Image Isolation in Multi-Tenant Service
- Eric Lin, Alibaba
Reenforce Kubernetes Image Isolation in Multi-Tenant Service - Eric Lin, Alibaba. https://www.youtube.com/watch?v=s0L2jej28k4
Kubernetes namespaceに応じてイメージ集合を隔離する試み
 ノード上にpullされたイメージはK8s namespace毎に隔離されない
 一旦pullされたイメージはどのユーザも認証無しに実行できてしまう
 PodSeculityPolicyのAllwaysPullはあまり有用でないらしい?
ns1 ns2 ns3
containerdのns間の
イメージの共有ポリシを
設定できるようパッチ投稿
CRI経由でns情報を
containerdが受取れる
ようパッチ投稿
12Copyright©2018 NTT corp. All Rights Reserved.
Session
イメージ配布技術セッション
P2P Docker Image Distribution in Hybrid Cloud Environment with Kraken
- Yiran Wang & Cody Gibb, Uber
P2P Docker Image Distribution in Hybrid Cloud Environment with Kraken - Yiran Wang & Cody Gibb, Uber.
https://www.youtube.com/watch?v=waVtYYSXkXU , https://static.sched.com/hosted_files/kccnceu19/f0/Kraken%20KubeCon%20Talk.pdf
 平均1GBのイメージを使い、10GBに達することもよくある
 バッチジョブを行うときO(10k)ものdocker pullが平行に発生する
 大量のホストマシンをメンテ時、それに伴いO(1k)ものpullが発生
 複数のクラスタ間でレプリケーションを行う
Uberのイメージまわりのユースケース
ピーク時は20000個の100MB-1GBのblob(総量2T~20TB?)が30秒で転送される
docker pullの高速化とレジストリのスケールをねらうUberのP2Pイメージ配布技術
Kraken
※発表資料より図を引用
13Copyright©2018 NTT corp. All Rights Reserved.
まとめ
イメージランタイム
ランタイム紹介
セキュリティ
マイグレーション
イメージビルド
セキュリティ
イメージ配布技術
FirecrackerやSingularity
が新たな選択肢に。
RuntimeClassが有用。
KataのVMMの選択肢も増えた。
Dockerからcontainerdへのマイグレで
省リソース・セキュリティを狙える。
Buildkitをはじめとしセキュアで
ハイパフォーマンスばビルダがある。
ノード上のイメージもk8sのnsに
対応して隔離する試みがある。
P2Pイメージ転送によりpullの高速化
とレジストリのスケールを狙える。
OCI Registry Artifactのミーティングにも参加
レジストリにHelm chartやCNAB bundle等
なんでも格納できるようなOCI仕様を作る試み
https://github.com/AzureCR/distribution-spec/blob/artifact-registry/artifacts.md

More Related Content

What's hot

Rootlessコンテナ
RootlessコンテナRootlessコンテナ
RootlessコンテナAkihiro Suda
 
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)Akihiro Suda
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方Yuji Oshima
 
BuildKitによる高速でセキュアなイメージビルド (LT)
BuildKitによる高速でセキュアなイメージビルド (LT)BuildKitによる高速でセキュアなイメージビルド (LT)
BuildKitによる高速でセキュアなイメージビルド (LT)Akihiro Suda
 
DockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JPDockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JPGo Chiba
 
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!Kohei Tokunaga
 
CRX: Container Runtime Executive 
CRX: Container Runtime Executive CRX: Container Runtime Executive 
CRX: Container Runtime Executive imurata8203
 
Docker 18.09 新機能
Docker 18.09 新機能Docker 18.09 新機能
Docker 18.09 新機能Akihiro Suda
 
[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能Akihiro Suda
 
Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Go Chiba
 
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSSA quick tour of the Cysharp OSS
A quick tour of the Cysharp OSSYoshifumi Kawai
 
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...Masaya Aoyama
 
Datadog による Container の監視について
Datadog による Container の監視についてDatadog による Container の監視について
Datadog による Container の監視についてMasaya Aoyama
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)Akihiro Suda
 
コンテナって何?
コンテナって何?コンテナって何?
コンテナって何?Hiroyuki Numao
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはksk_ha
 

What's hot (20)

Rootlessコンテナ
RootlessコンテナRootlessコンテナ
Rootlessコンテナ
 
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方
 
BuildKitによる高速でセキュアなイメージビルド (LT)
BuildKitによる高速でセキュアなイメージビルド (LT)BuildKitによる高速でセキュアなイメージビルド (LT)
BuildKitによる高速でセキュアなイメージビルド (LT)
 
DockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JPDockerCon '17 Feedback at PaaS JP
DockerCon '17 Feedback at PaaS JP
 
Moby Project
Moby ProjectMoby Project
Moby Project
 
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
 
CRX: Container Runtime Executive 
CRX: Container Runtime Executive CRX: Container Runtime Executive 
CRX: Container Runtime Executive 
 
Docker 18.09 新機能
Docker 18.09 新機能Docker 18.09 新機能
Docker 18.09 新機能
 
[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能[CNDT] 最近のDockerの新機能
[CNDT] 最近のDockerの新機能
 
Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活Kubernetesと暮らすRancherな生活
Kubernetesと暮らすRancherな生活
 
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSSA quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
 
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
Recap: [Code fresh] Deploying to kubernetes thousands of times per day @kuber...
 
Datadog による Container の監視について
Datadog による Container の監視についてDatadog による Container の監視について
Datadog による Container の監視について
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)Moby Project (May 25, 2017, Tokyo)
Moby Project (May 25, 2017, Tokyo)
 
コンテナって何?
コンテナって何?コンテナって何?
コンテナって何?
 
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとはコンテナを止めるな!  PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
 

Similar to 5分で振り返るKubeCon EU 2019:ランタイムとイメージの話題ダイジェスト

KubeCon + CloudNativeCon Europe 2019 参加報告
KubeCon + CloudNativeCon Europe 2019 参加報告KubeCon + CloudNativeCon Europe 2019 参加報告
KubeCon + CloudNativeCon Europe 2019 参加報告Takashi Natsume
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)NTT DATA Technology & Innovation
 
OpenStack東京サミットに向けて
OpenStack東京サミットに向けてOpenStack東京サミットに向けて
OpenStack東京サミットに向けてshintaro mizuno
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとはKoto Shigeru
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向Ryosuke Otsuya
 
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)NTT DATA Technology & Innovation
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkwhywaita
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-Yusuke Naka
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向NTT Software Innovation Center
 
[Cloud on air] #02 GCP のアプリランタイムについて学ぼう
[Cloud on air] #02  GCP のアプリランタイムについて学ぼう[Cloud on air] #02  GCP のアプリランタイムについて学ぼう
[Cloud on air] #02 GCP のアプリランタイムについて学ぼうGoogle Cloud Platform - Japan
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSKensaku Komatsu
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Masahito Zembutsu
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンC#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンTakayoshi Tanaka
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengewhywaita
 
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmaltJapan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmaltcapsmalt
 

Similar to 5分で振り返るKubeCon EU 2019:ランタイムとイメージの話題ダイジェスト (20)

KubeCon + CloudNativeCon Europe 2019 参加報告
KubeCon + CloudNativeCon Europe 2019 参加報告KubeCon + CloudNativeCon Europe 2019 参加報告
KubeCon + CloudNativeCon Europe 2019 参加報告
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
 
OpenStack東京サミットに向けて
OpenStack東京サミットに向けてOpenStack東京サミットに向けて
OpenStack東京サミットに向けて
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向
 
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
 
ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。ニフクラでも できる!Kubernetes。
ニフクラでも できる!Kubernetes。
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
 
[Cloud on air] #02 GCP のアプリランタイムについて学ぼう
[Cloud on air] #02  GCP のアプリランタイムについて学ぼう[Cloud on air] #02  GCP のアプリランタイムについて学ぼう
[Cloud on air] #02 GCP のアプリランタイムについて学ぼう
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaS
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
 
C#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオンC#エンジニアのためのdocker kubernetesハンズオン
C#エンジニアのためのdocker kubernetesハンズオン
 
ニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組みニフクラのサービス基盤運用におけるCIの取り組み
ニフクラのサービス基盤運用におけるCIの取り組み
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallenge
 
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmaltJapan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
Japan Container Days: 「今こそKubernetes。最高の仕事道具で使いこなそう」by capsmalt
 

More from Kohei Tokunaga

P2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctlP2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctlKohei Tokunaga
 
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動Kohei Tokunaga
 
Faster Container Image Distribution on a Variety of Tools with Lazy Pulling
Faster Container Image Distribution on a Variety of Tools with Lazy PullingFaster Container Image Distribution on a Variety of Tools with Lazy Pulling
Faster Container Image Distribution on a Variety of Tools with Lazy PullingKohei Tokunaga
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdKohei Tokunaga
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるKohei Tokunaga
 
Starting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of ImagesStarting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of ImagesKohei Tokunaga
 
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...Kohei Tokunaga
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能Kohei Tokunaga
 
BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話Kohei Tokunaga
 
The overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
The overview of lazypull with containerd Remote Snapshotter & Stargz SnapshotterThe overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
The overview of lazypull with containerd Remote Snapshotter & Stargz SnapshotterKohei Tokunaga
 
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するKohei Tokunaga
 
Startup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image DistributionStartup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image DistributionKohei Tokunaga
 
Stargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動するKohei Tokunaga
 

More from Kohei Tokunaga (13)

P2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctlP2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctl
 
eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動eStargzイメージとlazy pullingによる高速なコンテナ起動
eStargzイメージとlazy pullingによる高速なコンテナ起動
 
Faster Container Image Distribution on a Variety of Tools with Lazy Pulling
Faster Container Image Distribution on a Variety of Tools with Lazy PullingFaster Container Image Distribution on a Variety of Tools with Lazy Pulling
Faster Container Image Distribution on a Variety of Tools with Lazy Pulling
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into Containerd
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
Starting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of ImagesStarting up Containers Super Fast With Lazy Pulling of Images
Starting up Containers Super Fast With Lazy Pulling of Images
 
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
Build and Run Containers With Lazy Pulling - Adoption status of containerd St...
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話
 
The overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
The overview of lazypull with containerd Remote Snapshotter & Stargz SnapshotterThe overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
The overview of lazypull with containerd Remote Snapshotter & Stargz Snapshotter
 
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略しcontainerdでコンテナを高速に起動する
 
Startup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image DistributionStartup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image Distribution
 
Stargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動するStargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動する
Stargz Snapshotter: イメージのpullを省略してcontainerdでコンテナを高速に起動する
 

5分で振り返るKubeCon EU 2019:ランタイムとイメージの話題ダイジェスト

  • 1. Copyright©2018 NTT corp. All Rights Reserved. 2019/5/30 日本電信電話株式会社 ソフトウェアイノベーションセンタ 徳永 航平 Docker Meetup Tokyo #30 5分で振り返るKubeCon EU 2019: ランタイムとイメージの話題ダイジェスト
  • 2. 2Copyright©2018 NTT corp. All Rights Reserved. 自己紹介 名前 徳永 航平 所属 NTT ソフトウェアイノベーションセンタ 興味 コンテナランタイム、イメージ
  • 3. 3Copyright©2018 NTT corp. All Rights Reserved. KubeCon+CloudNativeCon EU 2019 May 20 – 23, 2019 @Fira Gran Via, Barcelona, Spain ランタイム・イメージ中心に情報収集をしてきました  それら話題のうちのいくつかを紹介します。  各セッションについては、特に印象深かった話題を扱います。完 全な内容はYoutube上のセッション動画等をご参照ください。各 スライドに動画URLを掲載しました。
  • 4. 4Copyright©2018 NTT corp. All Rights Reserved. 目次 イメージランタイム ランタイム紹介 セキュリティ マイグレーション イメージビルダ セキュリティ イメージ配布技術
  • 5. 5Copyright©2018 NTT corp. All Rights Reserved. 目次 イメージランタイム ランタイム紹介 セキュリティ マイグレーション イメージビルダ セキュリティ イメージ配布技術
  • 6. 6Copyright©2018 NTT corp. All Rights Reserved. Session ランタイム紹介系セッション Let's Try Every CRI Runtime Available for Kubernetes. No, Really! - Phil Estes, IBM Let's Try Every CRI Runtime Available for Kubernetes. No, Really! - Phil Estes, IBM. https://www.youtube.com/watch?v=FKoVztEQHss ; Intro + Deep Dive: containerd - Wei Fu, Alibaba & Mike Brown, IBM.https://www.youtube.com/watch?v=mX0YCODcBZo 主流のランタイム。ツー ルが充実している一方、 k8sの要求以上の機能を 持ちリソースも多く消費。 Dockerの一部として既 に 使 わ れ て い る 。 Docker socketを持たな いが省リソース高拡張性。 OpenShiftなどで使われ る。k8sのランタイムと して必要な最小限の機能 を持つ。拡張性は限定的。 OpenStack配 下 。 K V M / qemuベースの VMをPodとし て使うセキュア ラ ン タ イ ム 。 Rustで書かれた 軽 量 V M M 。 s hi m を 用 い て containerdと統 合。 serverless 領 域 を 志 向 。 ユーザ空間カー ネルでsyscall 発行数を削減し たランタイム。 Google Cloud R u n に 導 入 。 H P C / 学 術 に フ ォ ー カ ス 。 rootless実行可。 最近OCIに対応 し、専用のCRI 実 装 も あ り 。 unikernelを用 い、syscall発 行数を削減した ランタイム。専 用にビルドした イメージ必要。 Kata Containers Firecracker gVisor Singularity Nabla Containers New!
  • 7. 7Copyright©2018 NTT corp. All Rights Reserved. Session Kata VMM kind: Pod spec: runtimeClassName: kata … Pod毎にランタイムを指定可 ランタイムセキュリティ系セッション Surviving Serverless Battle By Secure Runtime, CRI and RuntimeClass - Xiaoyu Zhang & Lei Zhang, Alibaba Tailor-Made Security: Building a Kubernetes Specific Hypervisor - Samuel Ortiz, Intel & Andreea Florescu, Amazon Surviving Serverless Battle By Secure Runtime, CRI and RuntimeClass - Xiaoyu Zhang & Lei Zhang. https://www.youtube.com/watch?v=2_je65FCltk ; Tailor-Made Security: Building a Kubernetes Specific Hypervisor - Samuel Ortiz & Andreea Florescu. https://www.youtube.com/watch?v=t41Bh_sIVDQ ※Kubernetesと高レ ベルランタイム側で、 事 前 に 設 定 が 必 要 … ※KnativeやKubeless などのservelessプロ ジ ェ ク ト に お い て は RuntimeClass未対応 RuntimeClass gVisor Nabla runc NEMU Firecracker デフォルト。幅広く あらゆるデバイスに も対応するが大きす ぎて攻撃面が広い。 QEMU QEMUに対し、クラ ウドのワークロード 向けにサポートする 機能を絞ったもの。 Serverless向けに非 常に限定的な機能の み提供。コードベー ス は 小 さ い 。 VMMの選択肢 …
  • 8. 8Copyright©2018 NTT corp. All Rights Reserved. Session Dockerからcontainerdへのマイグレ Lessons Learned Migrating Kubernetes from Docker to containerd Runtime - Ana Calin, Paybase Lessons Learned Migrating Kubernetes from Docker to containerd Runtime - Ana Calin, Paybase. https://www.youtube.com/watch?v=uDOu6rK4yOk Azure AKS、GKEで containerdがサポー トされている。発表 で は G K E 上 で containerdを利用す るためのコマンド実 行 手 順 を 紹 介 。 性能の定量比較を示 し、Pod起動レイテ ンシはcontainerdの 方が低く、CPU,メモ リ使用量についても containerdの方が低 く抑えられると紹介。 Dockerほど多くの サポートツールのな い c o n t a i n e r d に お い て ト ラ ブ ル シュート時に有用な ツールとしてctr、 crictlコマンドを紹介。 機 能 の 削 減 さ れ た containerdの方が Dockerに比べ攻撃 面が小さい。またセ キュリティ監査も受 けているためセキュ アである点を強調。 マイグレ方法 有用ツール 性能比較 セキュリティ Dockerとcontainerdをマイグレーションの観点から比較
  • 9. 9Copyright©2018 NTT corp. All Rights Reserved. 目次 イメージランタイム ランタイム紹介 セキュリティ マイグレーション イメージビルド セキュリティ イメージ配布技術
  • 10. 10Copyright©2018 NTT corp. All Rights Reserved. Session イメージビルド系セッション Building Images Efficiently and Securely on Kubernetes with BuildKit - Akihiro Suda, NTT Corporation Rootless, Reproducible, and Hermetic: Secure Container Build Showdown - Andrew Martin, Control Plane Building Images Efficiently and Securely on Kubernetes with BuildKit - Akihiro Suda, NTT Corporation. https://www.youtube.com/watch?v=JKbPzUnAZ1Y ; Rootless, Reproducible, and Hermetic: Secure Container Build Showdown - Andrew Martin, Control Plane. https://www.youtube.com/watch?v=IpMPRC-ybJI コンテナをセキュアにビルドするための観点 ホスト上でランタイム などがrootユーザにな らない。また、ビルド 時のRUNコマンドが namespace内でroot 権 限 を 持 た な い 。 rootless ビルド中に非決定的な 外部ネットワークを利 用しない。どこでビル ドしても全く同じ結果 を得る。また署名可能 にし改ざんを防止する。 再現性 各ビルドコンテキスト が独立に隔離されてお り互いの状態に影響さ れない。マルチテナン ト時にビルド基盤を共 有 可 能 に な る 。 気密性 いろいろなビルドツールの紹介 Buildkit Img LXC umoci buildah makisu Bazel Google Cloud Build Kaniko どれもrootlessだが再現性、気密性には課題がある
  • 11. 11Copyright©2018 NTT corp. All Rights Reserved. Session イメージセキュリティ系セッション Reenforce Kubernetes Image Isolation in Multi-Tenant Service - Eric Lin, Alibaba Reenforce Kubernetes Image Isolation in Multi-Tenant Service - Eric Lin, Alibaba. https://www.youtube.com/watch?v=s0L2jej28k4 Kubernetes namespaceに応じてイメージ集合を隔離する試み  ノード上にpullされたイメージはK8s namespace毎に隔離されない  一旦pullされたイメージはどのユーザも認証無しに実行できてしまう  PodSeculityPolicyのAllwaysPullはあまり有用でないらしい? ns1 ns2 ns3 containerdのns間の イメージの共有ポリシを 設定できるようパッチ投稿 CRI経由でns情報を containerdが受取れる ようパッチ投稿
  • 12. 12Copyright©2018 NTT corp. All Rights Reserved. Session イメージ配布技術セッション P2P Docker Image Distribution in Hybrid Cloud Environment with Kraken - Yiran Wang & Cody Gibb, Uber P2P Docker Image Distribution in Hybrid Cloud Environment with Kraken - Yiran Wang & Cody Gibb, Uber. https://www.youtube.com/watch?v=waVtYYSXkXU , https://static.sched.com/hosted_files/kccnceu19/f0/Kraken%20KubeCon%20Talk.pdf  平均1GBのイメージを使い、10GBに達することもよくある  バッチジョブを行うときO(10k)ものdocker pullが平行に発生する  大量のホストマシンをメンテ時、それに伴いO(1k)ものpullが発生  複数のクラスタ間でレプリケーションを行う Uberのイメージまわりのユースケース ピーク時は20000個の100MB-1GBのblob(総量2T~20TB?)が30秒で転送される docker pullの高速化とレジストリのスケールをねらうUberのP2Pイメージ配布技術 Kraken ※発表資料より図を引用
  • 13. 13Copyright©2018 NTT corp. All Rights Reserved. まとめ イメージランタイム ランタイム紹介 セキュリティ マイグレーション イメージビルド セキュリティ イメージ配布技術 FirecrackerやSingularity が新たな選択肢に。 RuntimeClassが有用。 KataのVMMの選択肢も増えた。 Dockerからcontainerdへのマイグレで 省リソース・セキュリティを狙える。 Buildkitをはじめとしセキュアで ハイパフォーマンスばビルダがある。 ノード上のイメージもk8sのnsに 対応して隔離する試みがある。 P2Pイメージ転送によりpullの高速化 とレジストリのスケールを狙える。 OCI Registry Artifactのミーティングにも参加 レジストリにHelm chartやCNAB bundle等 なんでも格納できるようなOCI仕様を作る試み https://github.com/AzureCR/distribution-spec/blob/artifact-registry/artifacts.md