54. コンテナランタイム(前編) w/ TokunagaKohei
2021年08月10日
内容紹介
TokunagaKoheiさんをゲストに、コンテナランタイムの概要、OCI(Open Container Initiative)、OCIの仕様、CRI(Container Runtime Interface) などについて語っていただいたエピソードです。
出演者
話したネタ
- イラストでわかるDockerとKubernetes Software Design plus
- DockerとKubernetesをかけめぐる
- コンテナとは何か?
- docker の大きな貢献って何だった?
- コンテナランタイムとは何か?
- コンテナの隔離とは、具体的にどのように実現するのか?
- cgroups は実際に何をしているのか?
- runc での実装例
- 他の隔離方法の概要
- OCI とは何か? OCI と runc の関係性は?
- docker と OCIランタイム の関係
- CRI ランタイムとは?
- docker run 実行後の流れ
- 16:09 - 16:30 の「runc run」についての補足:
- 実際にOCIで定義されCRIからの呼び出しで使われるコンテナ実行関連のサブコマンドは「runc create」、「runc start」です。「runc run」はcreate、startを組み合わせたサブコマンド実装で、手元のターミナルでruncの挙動を試したり、runcのコンテナ作成の挙動を追うのに良い題材になります。
- 参考
- 高レベルランタイムとは?
- docker以外のCLIランタイム実装
- Open Container Initiative Runtime Specification
- OCI Runtime Specification には何が規定されているのか?
- コンテナの材料には何が含まれているのか?
- docker 登場以後の歴史
- rkt - the pod-native container engine
- kubernetes 利用時のコンテナ実行までの流れとは?
- kubelet の役割
- kubelet からの CRIランタイム への指示に使うプロトコル
- dockershim が deprecated になったときに発生した誤解