背景
最近、「コンテナはもうわかってきたので、これからKubernetesについて腰を据えて勉強したいが、どのように勉強すればいいかわからない」という相談をいただくことがすごく多くなった。
必要に応じて必要なリソースの挙動などを調べてきたし、僕自身も知らないことばかりなので、全てを伝えることはできない。
とはいえ、「入門しにくいサービスが伸びにくい」というのは、間違いないので、Kubernetesに入門する上でこの順番で学習したら、基本的な内容を身につけられるのではないかというロードマップを一つ公開しておくことで、これから業務でKubernetesを理解していく必要がある方の最初の一歩を助けられるかもしれないと思い、公開する事とした。(このQiitaのリンクを渡すだけで質問に回答できるという状態を作りたいという観点もある。)
自分の今の、Kubernetesに対する理解をうまく表現できているリソースを満遍なく集めてきたつもりだ。
全部で6ステップとなり、この6ステップを一通り進めれば、「Kubernetes完全に理解した」と言ってもいいレベルになれるのではないかと思っている。
ここでは、Argo CD(GitOps)やIstio(サービスメッシュ)などのKubernetes周りののエコシステムについては含まれていない。それらは別途調べる必要があることも予め断っておく。
あくまでも、Kubernetes本体の原理と使い方に着目している。
ロードマップ
-
プラットフォームの上でものを作るということ(難易度:なし)
- 元AWS JPのトリさんがECS/EKSを比較したブログ。k8sに入門する前に絶対に一度は読んでおくべき。
-
CKA取得(難易度:★★)
- Kubernetesのリソースの最低限の使い方を一通り抑えられる良試験
- 4択じゃなくてクラスタ操作系の試験
- 試験対策には、Udemy を受講するのがおすすめ
- 僕がKubernetesを初めて学んだ書籍のKubernetes完全ガイドはとてもわかりやすかったので、CKA取得に際してぜひ読んでいただきたい。
- Kubernetes The Hard Way(難易度:★★)
-
Kubernetes Resource Model (難易度:★)
- Kubernetesが他のPlatformと大きく異なる部分であるAPI Centricなアーキテクチャを取り入れているという部分に着目されたKDP
-
Borg, Omega, and Kubernetes (難易度:★★★)
- Kubernetesの前身となるBorgがなぜ生まれたのか、どんな取り組みをしてどのような失敗を乗り越え今の形になったのかということについて述べられている論文
- 日本語はこちら
-
Programming Kubernetes (難易度:★★★★)
- Kubernetesを使った開発についてサンプルコード付きで学べる実践的な書籍
- フレームワークありきではなく、フレームワークの内部で何をしているかまで書かれている貴重な書籍
- 339ページしかなく、意外と量は少ない