イラストでわかるDockerとKubernetes
#Docker #kuberneres #ReadLog #2020.12
https://gyazo.com/7990f79deb1d542df31b7b99c3848fb0
本書の対象はコンテナ技術を初めて触る人。DockerやKubernetesの概要と基本的な仕組みについて解説している。
コンテナランタイム
ランタイム、は直訳すると「実行+時」で実行時。その意味で使われることもあるけど、多くは「実行時に必要なもの」の意味で使われる。Javaランタイム=Javaのプログラムを動かすときに必要な部品、みたいな感じ。
「ランタイムライブラリ」とか「ランタイムモジュール」の省略形として定着している(?)みたい。
https://wa3.i-3-i.info/word13464.html
で、コンテナランタイムはなにかというと、コンテナ実行時に必要なものたちってことになる。本書で取り上げるのはruncというコンテナランタイム。コンテナランタイムとしてDockerにももちろん触れているが、そのDockerが内部ではruncを使っているということで、コンテナランタイムの標準仕様の概要の章で詳細の解説がある。
何気なく見つけた記事、本を読んだ後だとめちゃくちゃよくまとまっているのがわかる。
https://www.publickey1.jp/blog/20/firecrackergvisorunikernel_container_runtime_meetup_2.html
ていうか記事の執筆者と著者が同じ名前(苗字違い)なので同一人物かと思ってしまった。。。
と思ってたら次に開いた記事も例の苗字違いの同じ人。しかも引用している図が一緒だぞ。やはり同一人物か。
https://medium.com/nttlabs/runc-overview-263b83164c98
https://medium.com/nttlabs/container-runtime-d3e25189f67a
やばーい!「コンテナランタイム」の検索結果、ほぼこの人じゃん!
runcは元々Docker社が開発したコンテナ実行機能。コンテナ技術仕様の標準化にあたってコンテナ実行機能libcontainerを切り出して「runc」と改名して公開し、コンテナランタイムのレファレンス実装としてOCIに寄贈した。実行中のコンテナのライフサイクル管理やコンテナイメージの管理、ネットワークの管理などを担うDockerのコア機能も「containerd」として別で開発が進むことになりDocker社から切り離された。
https://xtech.nikkei.com/atcl/learning/lecture/19/00095/00001/?P=4
https://www.kaitoy.xyz/2019/06/15/k8s-ecosystem-container-runtimes/