概要
こちらの本を読みました。
経緯としては、Kubernetes をほとんど触った事がなかったので、触ってみたいというのがキッカケです。
仕事で使う可能性がありそうなのと、DevOps 領域に興味があり、深く関わっていそうだったのでこちらの本が出版されると聞いて即買いしました。
本の構成
当書は、ハンズオン形式で行う本になっており、頭から順番にやるだけでも、Kubernetes を触った気にさせてくれます。
実際、全てのことをこの本1冊で網羅するのは不可能ではあるのですが、入門とあるように最初の1歩としてはかなり分かりやすく、ハンズオンを通してコマンドにも慣れることができます。
ボリュームもめちゃくちゃ多いというわけではなく、程々の量なのでハンズオンを全部やらずに少し齧った部分は飛ばすなどをすれば、2、3日くらいで終わるのではないでしょうか。
僕は、全くの kubernetes 未経験だったので、GWを使って5日程使ってやりました。
感想
Part1
Docker の使い方から、Kubernetes の概要、説明がメインでした。
GitHub も公開されているため、無駄に Dockerfile やマニフェストの写経をする必要がなく、コマンドや内容に集中できました。
Kind と呼ばれる、マルチ Node クラスターが構築が可能なツールを使って行うことになるため、Kind の説明や使い方についてもここで解説されております。
Dockerfile の作成などは別途勉強するのが前提とはなりますが、当書の目的は 「Kubernetes に慣れること」なので、マニフェストを書くところはある程度にして その後に続く知識を身につけていきました。
Part2
ここから実際に、Node や Pod を壊して直していく工程に入ります。
一番長いパートなので、少し気合を入れて取り組みました。
ここでは主に、最初に構築した Cluster 上に何度か Development を適用し、 通信がうまく行えないような状況を直していくという感じになります。
ここでも基本的に写経は程々にし、どこでエラーが出るのか、どこでエラーを見るのか、その直し方の考えはどうするか に集中しました。
Pod の Status を見る事、Pod のログを見ること、設定されているマニフェストの diff の確認や、ポートの確認、実際にコンテナ内でのログ出力や疎通確認など
様々な角度から Kubernetes に対して操作を行なっていきます。
port-forward を行い、外部からコンテナへのアクセスをする方法などは実践でも使えそうだなと思いましたが、 実践でどこまで利用されているのかは、読み終わった後の今でもまだ分かりません。
ただ、そういった手段はあるということを知るだけでも、機能の理解の助けになるのではないかと思います。
affintiy などの概念は正直、読み終わっただけでは完全に理解したとは言い切れません。 何をどうしたら良いのかというのは、より詳しく解説されてる本を読むのがいいかもしれないです。
しかし、この本で概要を掴むことで、いきなり詳しい本に行くよりはかなりハードルが下がったと思うので 読んで非常に良かったと思える部分でした。
Part3
ここからは、主に Kubernetes 周りのエコシステムについての説明が多いです。 主に監視や、運用方法、今後の学習の進め方についての話が多いです。
Part3自体は、割と薄めなので、ツールや学習方法の紹介する程度となってます。 各項目については、それぞれに特化した本などで学習するのが良いかと思います。
まとめ
Kubernetes は僕自身、すごい怖いもののイメージでした。 所属する会社でもよく使われるのを見てはいますが、自分が触った事がなかったので非常に難しいものと決めつけていました。 しかし、今回何度もコマンドを叩き、実際動かないことを経験しながら、自分でいろいろ見ていくうちに少しずつその恐怖心が薄れ 最後の方は、本を読まずとも、「あぁ、次はこのコマンドで確認すればいいんだな」と表示するものが分かっていたので非常に進めやすくなりました。
今回は入門編ということで、概要だけ掴めたらいいという気持ちで買ったので、その目的は達成できて非常に満足のある本でした。 次は、もう少し詳しく書かれている本に立ち向かってみようという準備運動ができたと思います。