仕事で Kubernetes に関連した仕事を若干していたこともあり、1年ほど前に Kubernetes Certified Administrator (CKA) の受験申し込みだけは済ませていたのですが、いよいよ期限切れが迫ってきたので慌てて試験を受けました。結果としては、無事合格しました。
折角なので、私の勉強方法を晒しておきます。Google 検索をして眺めた感じでは私の勉強法は他の人のやり方とはちょっと違ってましたが、もし良さそうであればご参考にしてください。
勉強に使ったコンテンツ
ここ一年(2018年-2019年)で Kubernetes (k8s) に関する日本語の書籍やオンラインドキュメントが充実してきたので、英語が苦手な人でも Kubernetes を体系的に学ぶのがとても簡単になりました。
しかしながら、最新の情報は常に英語で提供され続けており、質・量共に圧倒的に高いので、よほど苦手でないのであれば、英語のコンテンツを用いて勉強した方が良いと思います。
私が学習に使った書籍・オンラインコースは、主に次の4つです。
- Safari Online Learning (旧Safari Books Online)
- Linux Fundation が提供するオンラインコース
- CNCF が提供している、CKA 用の公式カリキュラム (に該当する k8s.ioドキュメント)
- walidshaariさんのカリキュラム毎にカテゴリ分けされたブックマーク集
基本的には、Kubernetes in Action の内容を全て手を動かして勉強しておけば、試験では合格要件の 74% を大きく上回ることができるはずです。ただし、CRD や Helm 等、一部試験範囲外の内容も含まれているので、試験優先であれば Part III 以降は軽く読み流す程度でも大丈夫だと思います。
Linux Fundation が提供するオンラインコースの LHS258 に付いては、一通りやりましたが、操作性がイマイチで後から復習するのも面倒なので、お金を払ってまで受講する必要はなかったかも。。と思いました。それでもコンテンツ自体は良かったので、短期で一気に勉強したい人にはこちらも良いかもしれません。
walidshaari さんのブックマーク集は、かなりオススメです。実際の試験時は kubernetes.io のコンテンツ(と kubernetes のGitHub)のみ参照が許可されているため、カリキュラムのどの分野の説明が何処にあるかを事前に把握しておけば、試験時間中に調べたいことが出てきても、時間を効率よく使えます。
Chrome ブラウザに当該リンクをブックマークしておくのもオススメですが、どのあたりに何が書いてあるのかを把握しておくだけでも十分かもしれません。
試験範囲外だけれど、k8sを使いこなすために役立つオススメ本
CKAは Administrator 向け試験のため、実際に k8s を使ってどのようにアプリを作ったりデプロイすると便利なのか、についてはあまり触れられていません。どちらかというと CKAD(Certified Kubernetes Application Developer) がカバーする範囲にはなりますが、次のコンテンツを一読しておくと、なぜ k8s が便利なのか、どのような用途に適用すると大きな効果が得られるのかが理解できます。
-
Kubernetes Patterns
- Part III の Structural Patterns 以降に書かれている Init Container, Sidecar, Adapter, Ambassador は k8s で生産性を高めるための最も大切な Container Design Pattern になります。また、Part Iv の Configuration Patterns は k8s が何にでも使える万能薬ではないことも理解できるようになっているのでとても良い情報だと思います
-
Design patterns for container-based distributed systems
- k8s について、作者の Brendan Burns 氏が分散システムの Design Pattern の観点で解説した論文
- 私は、このドキュメントを読んで、ようやく k8s には何故 Pod という概念が導入されているのか、コンテナ技術を用いて生産性を上げるとはどういうことなのか、について腹落ちできました。k8s を触る前に、一番初めに読んでおけば良かったかもしれません..
-
Designing Distributed Systems
- こちらの本も、同じく k8s 作者の Brendan Burns 氏が執筆されたものになります
- "Kubernetes Patterns" と内容が被る箇所もありますが、どちらも一読しておくと引き出しが広くなりそうです。特に、Batch Computational Patterns が網羅的に解説されているのが素敵です。この辺りを読み進めると、k8s の hadoop 的な側面が見えてきて楽しいです