まーぽんって誰がつけたの?

iOS→Scala→インフラなおじさん技術メモ

入門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の経験が生かされている
    1. どうせグルーピングする必要性が出てくる
    2. 階層化は破綻する
  • pod-template-hashDeploymentReplicaSetが重複しないようにするためにあった
  • readinessProbeが負荷が高まった場合につかえる
  • Horizontal Pod Autoscalerすごい、これがnativeに組み込まれてるのすごい
  • ReplicaSetDeploymentの歴史と関係性(自分は学び始めたときはすでにDeploymentがあった)
  • DaemonSetでさらに特定のノードグルーフにだてけ割り当てることができること
  • DaemonSetでrolling updateができること
  • Secret VolumetmpfsというRAMディスクに保存すること
  • Serviceにtype:ExternalNameがあること(外部のDNSレコードへAliasを貼るみたいなことができる)

誤植っぽいところ??

P192のという小見出しの部分がもしかしたら、Liveness Probeの間違いかもしれません。 小見出しには13.3.5 最後のポイント: Readiness Probeと書いてありますが本文やサンプルコードはLiveness Probeとなっています。

13.3.5 最後のポイント: Readiness Probe

...

MongoDBを構成するコンテナにLiveness Probeを追加することです。

...

まとめ

オススメです! ★★★★★