入門Kubernetesはk8sを触ったことがない人や機能を使いこなしてない人にオススメだと思った
k8s(頭のkとお尻のsを抜いてubernete
が8文字だから略してk8s、Internationalizationのi18nみたいな感じ)、の作者が基本的な機能を説明してくれる本です。正直公式documentと同じようなことが書いてある部分が多いっちゃ多いんですが、
- 日本語で読める
- ざっくりこんな機能があるんだー、こんなことができるんだーというのを知れる
- Kubernetesオブジェクトがなんでこういう単位で分かれてるのかという考えが知れる
- さっと読み終わる薄さがちょうどいい
- k8sやってみてるけど、まだまだ機能を使いこなしてないなという人には、へぇーこんなことできるんだと知るきっかけになる
- 例えばECSしか触ったことがない人が、えっこれってk8sならこれでできちゃうの!?みたいなことを知れる
といったあたりでオススメだと思いました。
個人的には特に、14章の実用的なアプリケーションのデプロイがとてもよいと思いました!!
Parse(あのParse.comのParseです。死んだと思ってましたがOSSになってたようです)と、Parseが使うmongoDB、blogのplatformのGhostと、Redisをk8s上でデプロイするというものです。 いい感じにk8sの機能を網羅することになるので、どんなことができるか雰囲気がわかりやすいです。k8s触ってみたいんですが題材は何がいいですかねーと言われたときはこれをオススメしようと思いました。
本を読んで初めて知ったこと
業務でもk8sを触ってはいますが、kubernetesのことを勉強し始めたのは1年ぐらい前なので、まだまだ知らないこともありました。
- heptio-kubernetesの存在
kubectl logs -c
でコンテナがえらべることpod
は鯨の群れという意味だった(Dockerが鯨だからそこからきてる)- 宣言的設定が自己回復のキモであることを改めて認識した
service
とかpod
とかのことをkubernetesオブジェクトと呼ぶことLabel
の仕組みは巨大な複雑なアプリケーションを動かしてきたGoogleの経験が生かされている- どうせグルーピングする必要性が出てくる
- 階層化は破綻する
pod-template-hash
はDeployment
でReplicaSet
が重複しないようにするためにあったreadinessProbe
が負荷が高まった場合につかえるHorizontal Pod Autoscaler
すごい、これがnativeに組み込まれてるのすごいReplicaSet
とDeployment
の歴史と関係性(自分は学び始めたときはすでにDeploymentがあった)DaemonSet
でさらに特定のノードグルーフにだてけ割り当てることができることDaemonSet
でrolling updateができることSecret Volume
はtmpfs
というRAMディスクに保存すること- Serviceに
type:ExternalName
があること(外部のDNSレコードへAliasを貼るみたいなことができる)
誤植っぽいところ??
P192のという小見出しの部分がもしかしたら、Liveness Probeの間違いかもしれません。
小見出しには13.3.5 最後のポイント: Readiness Probe
と書いてありますが本文やサンプルコードはLiveness Probeとなっています。
13.3.5 最後のポイント: Readiness Probe
...
MongoDBを構成するコンテナにLiveness Probeを追加することです。
...
まとめ
オススメです! ★★★★★