ぶていのログでぶログ

思い出したが吉日

入門 Kubernetesを読んだ

この記事はアドベントカレンダー向けに書いた記事ではないです!ですが、今日からGMOペパボエンジニアアドベントカレンダーが始まっているので、そちらもよろしくお願いします。 なんと今年はエンジニアだけで2会場あります! 🎅GMOペパボエンジニア Advent Calendar 2022 - Adventar 🎄GMOペパボエンジニア Advent Calendar 2022 - Adventar

また、エンジニア以外にもアドベントカレンダーを開催してますのであわせてご覧ください。

GMOペパボデザイナー Advent Calendar 2022 - Adventar Pepabo Managers Advent Calendar 2022 - Adventar GMOペパボディレクター Advent Calendar 2022 - Adventar Pepabo CS Advent Calendar 2022 - Adventar


入門Kubernetesをやっと読み終えた。

実はこの本は2018年に発刊されて今となっては少し古い本になっている。 発刊当初にペパボでk8sをやっていくぞ!!っという流れになってこの本を買ったのだけど、そのまま読むことなく積読となっていた。 それを唐突に読もうと思ったきっかけは、本格的にk8sを触る機会があり実際に触ってみたらめちゃくちゃ面白いことを改めて感じ仕事で使っているのもあり体系的に学ぼうと思ったからというのと、この本が出た当初より環境も安定してきてナレッジも溜まりそしてローカルの開発環境も容易に作れるようになり検証しやすくなったというのも大きい。 ペパボではk8sを本番環境にすでに利用していることもあって、私自身まったくk8sを知らない!というわけではない。 なんかうまく動いていないからk8sのダッシュボードを見てポチポチするとか、「k8s、序盤中盤終盤隙がないよね」っといったことが言えるくらいの浅い知識を持っている感じだった。

基礎的な知識が学べるがコマンドがエラーになる

「入門」とタイトルにあるとおり、k8sをなぜ利用するのか?とかコンテナとは?みたいな話から書いてあって初心者でもとっつきやすい感じがした。 また、PodやDeploymentなどの概念は発刊当時からいままで変わることがなく、今読んでも大きく乖離していることなくすんなり理解することができた。

余談なのだが、この本を読むまでポッだと思っていて、ティーポットを連想していた。しかしながら本当は、ポッが正しいことを知った。Podはクジラの群れとの説明があり、確かにコンテナが群れになっている感じがあった。

話を戻して、概念の理解は文章を読むだけでなんとなく理解できるのだが実際に動かしてみたほうがより理解が深まると考えていた。 実際、本書もコマンドラインが載っていてそれを実行できるように配慮されている…のだが、k8s APIやkubectlのアップデートがありコマンドラインをそのまま実行してもエラーになることがあった。 特にkubectl runの仕様が変わったのか、Deploymentを作れなかったり--labelesオプションが受け付けられなくなっていた。 また、これは私の環境が悪いのだが本書ではオリジナルのKubernetes*1を想定しているのだが、私はmicrok8sで環境を構築したので一部動かない機能があった。 コマンドがエラーになる部分については、代替のコマンドラインがないか検索したり、一旦知識だけ蓄積していおいて必要に迫られたら読み返してコマンドを実行して試すなどといった回避策を取っている。

まとめ

k8sの入門書としては気軽に読める分量でよかった。ただ、今からk8sに入門しようしている人に薦めるかといったら、内容が古いのであんまり奨めないという感じ。 ラズパイにk8s環境を作る手順も載っているのだが、今ならmicrok8sとかminikubeなどの方法もあったりするのでそっちの方がより手軽だと思う。

また、あくまで入門書ではあるのでこれだけ読めば仕事でバリバリつかえるか?っと言ったらまだまだだと思うので、今後も継続的にキャッチアップしていきたい。

*1:https://kubernetes.io/ja/ のk8sのこと。microk8sとかminikubeなどと対比した場合なんて呼ぶのが正解なのだろうか?バニラのk8s?