HackyViolette

人生暇つぶし

CKA合格の道のり

Certified Kubernetes Administrator(CKA)試験に合格したので対策をまとめます。

前提

開始時スキルはLinuxの超基本的なコマンドはなんとなく打てるレベル、「コンテナオーケストレーションとは?」と聞かれたらなんとなく答えられるレベルでした。勉強期間は2022/1〜2022/3の3ヶ月で合計150〜200時間程度を勉強に費やしました。最初の方は効率のよくない勉強を50時間くらいしていたので、それをしなければもう少し短い時間で取れたのかなと思います。

結果

結果は 86/100点 で合格でした。66点が合格ラインなのでまあまあの結果ではないでしょうか。

f:id:hackyviolette:20220414191923p:plain

f:id:hackyviolette:20220414192303p:plain

勉強法(最短)

必要なものはこの4つだけです。

コンテンツ 内容 完了基準
Kubernetes完全ガイド 第2版 Kubernetes初学者のための教科書 どこに何が書いてあるかわかればOK
Kubernetes公式ドキュメント 公式ドキュメント KodeKloud, Killer.shの解答に必要なページをブックマークできていればOK
Udemy: Certified Kubernetes Administrator (CKA) with Practice Tests に付随のハンズオン(KodeKloud) 講座と1:1のハンズオン すべて自力で解答できるまでやる
Killer.sh 本番試験よりも若干難易度の高い模試 制限時間内に満点取れるまでやる

完了基準を見てもらえればわかるように、完全ガイドと公式ドキュメントは完璧に読む必要はなく、ハンズオンと模試を完璧にすればよいということです。超マニアックな知識を問われることはないため書籍や公式ドキュメントの隅まで理解しなくていいです。

以下の流れで勉強を進めました。

f:id:hackyviolette:20220414194125p:plain

一旦完全ガイドを1周読みきった時点で、理解できてようとできてなかろうとハンズオンをやってしまいましょう。わからないことはハンズオンを進める中で書籍に立ち返ればよいです。

ここからは各コンテンツの補足説明をします。

Kubernetes完全ガイド 第2版

book.impress.co.jp

もはやKubernetes初心者のバイブルといって良いのではないでしょうか。 この本にエッセンスが詰まっているので、まずは1周読み込んでKubernetesの機能の全体像やどこに何が書かれているのかを把握しましょう。

最初は何がなんだかわけわからないと思いますがとりあえず読み切ることを優先すればよいと思います。細かなことを言うと、CKAの試験範囲から逸脱している単元もあります。しかし、「試験範囲に絞って読むことができる」ということは「Kubernetesについてある程度知識がある」ということなので、初学者の時点でそういったフィルタリングは難しいのではないでしょうか。まずは難しいことを考えずに全体像を掴むために軽く読み切るのが近道かと思います。

Kubernetes公式ドキュメント

kubernetes.io

試験では公式ドキュメントの閲覧が許可されています(タブ1つだけ)。事前のブックマークもOKのため、ハンズオンや模試の復習を行うときに必要なページはブックマークしておくとよいと思います。

公式ドキュメントの検索は優秀なので必要な情報がすぐに見つかる可能性が高いです。そのため、大量にブックマークするというよりは、本当に使用頻度の高いものだけをブックマークするのがよいと思います。私がブックマークしたページに関しては別記事で紹介しようと思います。

Udemy: Certified Kubernetes Administrator (CKA) with Practice Tests

www.udemy.com

Udemyなのでセールのときに買いましょう。¥2,000程度で購入できたと思います。

この講座では、Kubernetes基本講座(英語)+ハンズオン環境・基本問題を利用することができます。購入する目的としては講座そのものというより、付随するハンズオン環境・基本問題を利用するためです。

講座はすべて英語のため、英語がよっぽど得意でない限りは素直に完全ガイドを読んだ方がよいと思います。ハンズオンを完璧にしましょう。 実際私はUdemy講座は15%しか達成していませんが、ハンズオンは100%です。

f:id:hackyviolette:20220414200213p:plain

Killer.sh

killer.sh

CKAの受験を申し込んだ際にKiller.sh(模試)の2回分のチケットがもらえます。本番よりも若干難しいですが、この模試を完璧にすることで知識と自信がつくと思います。

Killer.shについても追々別記事で紹介しようと思います。

勉強法で失敗したこと

失敗したなぁと思うことを共有します。

●完全ガイドのすべてのハンズオンを試していたこと

完全ガイドはとてもよい本で、一つ一つの説明の後にマニフェスト例とコマンド実行例が書かれています。これらを一つひとつ自分でもやってみることで学びにはなるのですが、時間がかかりすぎてしまいます。

書籍の半分くらいまでこの方法で勉強していたのですが、埒が明かないと思ってやめました。

マニフェストを何も見ずに完璧にかけるように練習していたこと

マニフェストの構造をしっかりと理解しなければ」との思いからマニフェストファイルを0から自力で書く練習をしていた時期がありました。試験では基本的にkubectl run hoge-pod --image=nginx --restart=Never --dry-run=client -o yaml > po_hoge-pod.yaml のようにコマンドからyamlファイルを出力し、それを編集するといった方法で作成します。試験中に自分で0から書いていては時間が足りないですし、実務上においても自分で0から書くことはない(少なくとも公式ドキュメントを参考にする)ため0から書けることになんの意味もないです。

Kubernetes公式トレーニング付きバウチャーを購入してしまったこと

これが一番イタイ失敗でした。。

lpi.or.jp

LPI-Japanから申し込みをする場合、バウチャーには「試験のみ」「トレーニングのみ」「試験とトレーニングセット」があります。

f:id:hackyviolette:20220414202748p:plain

レーニングと抱合せがお得感がありついポチってしまったのですが、結局最後までトレーニング教材を使うことはありませんでした。めっちゃお値段高いので購入する際には注意してください。CKAに合格することを考えた場合、トレーニング教材はやりすぎです。CKAに合格後に読む分にはよいと思いますが、初学レベルでいきなりトレーニング教材はキツいと思います。

●知らないLinuxコマンドについて深入りしすぎていたこと

CKA試験ではLinuxをある程度さわれる人であることが前提の試験です。試験を解くために基本的なコマンドを使うことがあります。私の場合には, ps, ss(netstat) らへんは触ったことがあるのですが、service, systemctl, journalctl等については全くの初見でした。これらのコマンドについて一つ一つ深入りして調べていたのですが合格に向けてはもったいない時間でした。CKAで必要とされる使い方さえできればOKということにして先に進めばよかったです。

とはいえ、さすがに「Kubernetesの資格持ってます。Linuxわかりません。コンテナわかりません。」ではあまりにもダサいのでLPIC受けるとかしたいです。

次に取得する資格

鉄が熱いうちにCKADを取得しようと思います。CKAと大部分の範囲がかぶっているようなので今度は1ヶ月程度で合格できるかなぁと思ってます。