midnight in a perfect world

webエンジニアのメモ

「イラストでわかるdockerとkubernetes」を読む。

コンテナ関連本の2冊目。こちらの方がややエンジニア寄りかも。内容はタイトル通りイラストで直感的にdockerとkubernetesを理解しようというもので、もちろん重複している解説もあるんだけど言い回しがちょっと違ったりして理解がより深まる感じがあった。「コンテナとはプロセスである」とか「マニフェストによってコンテナの状態を宣言的に記述することで管理する」みたいなこととか。

あと、本書はコンテナランタイムに関する解説として、dockerやkubectlやkubeletコマンドを実行した時に、コンテナの作成や管理のためにどのようにしてdockerデーモンが反応し、CRIランタイムやOCIランタイムに対してどのような処理を実行しているのかというコンポーネント全体の解説がイラストにて分かりやすく紹介されている。

学びとなったのは、同じイメージからコンテナ複数実行するときはコンテナ同士で共通するレイヤは共有し、共有部分は読み取り専用として変更させないような仕組みができているということ。

2冊のdockerとkubernetes本を読んでみて思ったけど、kubernetesでやることも今の自分がECSでやっていることとあんま変わらんなということ。コンテナオーケストレーションとして似たような機能を持ってるのは当然のことなのかもしれないが、kubernetesに対する「学習コストが高く使いこなすのが難しい」というのはECSの運用を通じてやや軽減された気がする。本書読んでても、「サービスディスカバリ使ってサービス内の通信するのか、APIコンテナからログコンテナにログ配送してる今と同じじゃん」とか思った。

もちろん、kubernetesがさらにプラガバルで自由度が高いという点だったりECSも独自の癖が強いということも聞くので簡単な比較は出来ないが。