Kernel/VM/探検隊online part1 (自分のツィートのみ) #kernelvm_tw

0
Yoshikazu GOTO @goto_ipv6

inductor さんによる「コンテナ目線で考えるunikernelとmicroVM」です。 #kernelvm #kernelvm_tw

2020-06-06 14:22:51
Yoshikazu GOTO @goto_ipv6

コンテナの仕組み: ・雑に言えばすごい chroot →特定のディレクトリをルートディレクトリに見立てて仕切りを作る技術 #kernelvm #kernelvm_tw

2020-06-06 14:26:15
Yoshikazu GOTO @goto_ipv6

・隔離したファイルシステムに対して namespace で分離したユーザー、プロセス、NW などを割り当て、cgroups で利用できるリソース量を制限すると、VM のように #kernelvm #kernelvm_tw

2020-06-06 14:26:16
Yoshikazu GOTO @goto_ipv6

Docker がもたらした変革: ・Docker がもたらした Dockerfile、Docker イメージ #kernelvm #kernelvm_tw

2020-06-06 14:26:43
Yoshikazu GOTO @goto_ipv6

Docker が使う低レベルランタイム runC の仕組み #kernelvm #kernelvm_tw

2020-06-06 14:27:06
Yoshikazu GOTO @goto_ipv6

runC の仕組み ・上のレイヤーでは Docker や CRI ・その下で runC が命令を受け、コンテナの上で動くためのファイルシステムの展開や、アプリケーションプロセスの初期化を実施 #kernelvm #kernelvm_tw

2020-06-06 14:35:18
Yoshikazu GOTO @goto_ipv6

・各コンテナは隔離されているが下のホストは共通 ・普通にやるとホストOSの特権が必要 →runCの脆弱性が見つかるととても危ない #kernelvm #kernelvm_tw

2020-06-06 14:36:10
Yoshikazu GOTO @goto_ipv6

microVM: ・軽量で起動が高速、動的に生成削除される VM のこと ・Firecracker が OSS としては有名 #kernelvm #kernelvm_tw

2020-06-06 14:36:46
Yoshikazu GOTO @goto_ipv6

仕組み: ・REST Client や CLI から ・Firecrakcer を経由して OS 上に microVM を #kernelvm #kernelvm_tw

2020-06-06 14:37:24
Yoshikazu GOTO @goto_ipv6

コンテナでの利用例: ・Firecrakcer-containerd と組み合わせる #kernelvm #kernelvm_tw

2020-06-06 14:37:59
Yoshikazu GOTO @goto_ipv6

microVM のメリット・デメリット: ・既存の VM技術と比べリソースの割当が柔軟で動的 ・OS 自体の起動は時間がかかる #kernelvm #kernelvm_tw

2020-06-06 14:38:43
Yoshikazu GOTO @goto_ipv6

Unikernelとは: ・Library OSを用いて特定のアプリケーションに必要なコンポーネントだけを内包した空間を分離する技術 →カーネルで使わない機能すら排除 #kernelvm #kernelvm_tw

2020-06-06 14:39:18
Yoshikazu GOTO @goto_ipv6

コンテナでの利用例: ・IBMが作っている Nabra Containers プロジェクト ・低レベルコンテナらんたいむとして Runnc を使う #kernelvm #kernelvm_tw

2020-06-06 14:40:01
Yoshikazu GOTO @goto_ipv6

Unikernel のメリット・デメリット: ・VMと違い環境の分離までは行わずにプロセスとしてコンテナが動くので軽量かつ高速 ・Unikernel の技術自体の知名度が低く、知見があまりない #kernelvm #kernelvm_tw

2020-06-06 14:41:11
Yoshikazu GOTO @goto_ipv6

gVisor との違い: ・ユーザー領域にカーネルを再実装したものを展開し、あたかもそれがシステム領域であるかのように振る舞う #kernelvm #kernelvm_tw

2020-06-06 14:41:40
Yoshikazu GOTO @goto_ipv6

Kata Containerとの違い: ・Containerd などのランタイムから命令を受けたあと、namespace や cgropus を使う代わりに QEMU/Firecracker を #kernelvm #kernelvm_tw

2020-06-06 14:42:21
Yoshikazu GOTO @goto_ipv6

結論:課題を感じていなければ Docker でも良い #kernelvm #kernelvm_tw

2020-06-06 14:43:46
Yoshikazu GOTO @goto_ipv6

Firecracker – サーバーレスコンピューティングのための軽量な仮想化機能 aws.amazon.com/jp/blogs/news/… #kernelvm #kernelvm_tw

2020-06-06 14:44:49
Yoshikazu GOTO @goto_ipv6

tnishinaga さんによる「俺の仮想マシンルーターがこんなに遅いはずはない」です。 #kernelvm #kernelvm_tw

2020-06-06 15:02:20
Yoshikazu GOTO @goto_ipv6

リモートワーク時代到来: ・PPPoE 接続 IPv4 回線がとても遅くなった ・DS-Lite (IPv4 over IPv6) もそんなに速くない →どの時間帯も上り下り 70Mbps で頭打ち →ルータの性能? #kernelvm #kernelvm_tw

2020-06-06 15:03:57
Yoshikazu GOTO @goto_ipv6

インターネットを速くするために ・ルーターを新調することに #kernelvm #kernelvm_tw

2020-06-06 15:04:12
Yoshikazu GOTO @goto_ipv6

ルーター新調: ・LIVA Z-4 と拡張パーツを購入 #kernelvm #kernelvm_tw

2020-06-06 15:04:25