今月(2020年9月)にCKA(Certified Kubernetes Administrator)を受けて、無事に受かっていたので、その経験と感想を書いておきたいと思います。
CKAはLinux foundationが中心に提供している認定試験で、主に管理者向けの技能試験で、ハンズオン形式のテストになります。K8sの基本的な構成を理解している、各種設定を行える、トラブルシューティングが出来る、といった能力を測るものだと思います。開発者向けのCKADは受けてません。
https://www.cncf.io/certification/cka/
ちなみにこの9月から少し内容が変更されてるので注意が必要です。
https://training.linuxfoundation.org/cka-program-changes-2020/
試験の内容
・制限時間は2時間
・問題数は17問(2、3問くらい毎回増減するらしい)
・言語は基本的に英語だけど、日本語とか中国語とかも選択できる。試験を受けてる途中での切り替えも可能。
・合格ラインは66%
・問題ごとに重みづけがされている。覚えている限りでは4~13%くらいまで幅があったとおもう。
・試験中は、公式ドキュメントしか見られないので、どの情報がどのあたりに載ってるかをよく把握しておく必要がある。(下のリンクと、あとk8sのGithubもいいらしいけど、特に見る必要はなかった。)
https://kubernetes.io/docs/home/
・tmuxが使用可能
・試験中に休憩させてもらえるので、トイレとか行けるっぽいが、当然試験時間は経過する。
・試験前に机の上、周りの四方の壁、机の下までチェックされる。(このチェックに30分くらいかかった)
・開始時間の15分前からログイン可能
・一応試験監督がいるが、向こうの顔は見えず、コミュニケーションは全てチャット。
・手首にスマートウォッチとかつけてるのもダメ
・透明なコップに水なら机の上に置いて、試験中に飲んでてOK
・途中2回くらい、手首を30秒間見せなさい、みたいな時間があった。不正防止のためらしい。
・費用は300USD。ただし準備用のサイトとかで割引コードがもらえることが多い。
・試験を受けるときは数日前に予約をしておかないといけない。僕のときは1ヶ月くらい先まで予約出来なかったので、少し早めに受験可能日を確認しておくとよいかも。
・試験結果は36時間以内にメールで届く。僕はきっかり36時間待たされた。
・結果は得点のみ通知、詳細はもらえない(今後改善すると言っているらしい)
・受かってると、Linkedinとかで見かける認定証のPDFがもらえる。LFのMy portalでも見られる。
・Degital badgeがもらえて、Linkedinとかで自慢できる。
ざっとこんな感じだったかなと思います。疑問点あればコメントいただければできる限り追記したいと思います。
準備
そもそも僕のバックグラウンドですが、今はSaaSサービスの会社で顧客向けの技術サポートをしています。開発経験などもありますが、少し前まで金融系のクラシカルな環境だったので、Kubernetesはおろかコンテナもほぼ触ったことはなかったです。知識として知っている程度でした。
準備期間としては4ヶ月くらいかけました。前述の通り、ほぼゼロからスタートだったので、基礎を3ヶ月くらいじっくりやって、あとの1ヶ月は復習と試験の練習を繰り返した感じです。
オライリーの本とか買ってみたりしましたが、役に立ったなとおもうのは以下の2つでした。
・UdemyのMumshad Mannambethさんのコース
https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/
これは超有名ですね。CKA受けてる人はほぼみんなこれやってる気がします。
ほぼ全てのトピックが網羅されていて、初心者にもわかりやすいです。各パートにハンズオンの練習問題がついていて、それを繰り返しやることで試験の練習にもなってよかったです。
インド系らしいですが、発音も癖がなく、かなりゆっくり話してくれるので、英語が苦手でもとても聞き取りやすいと思います。英語に慣れてる人は早送りでも十分聞き取れるくらいだと思います。
ただし、練習問題は割とベーシックなので試験用に少し難しい問題で練習したいという場合には少し物足りなくなるかもしれません。
また、9月にCKAが改定されたためか、カバーされていないトピックがいくつかありました。(Service accountやStateful setなど)
それらはCKADコースでカバーされていますが、割とお高いのでセールのときに買うか、自分で勉強するかという感じでしょうか。
僕は幸運なことに、会社でUdemyに入っていて全部タダなので、遠慮なくCKADコースを受けました。
・Killer.sh
https://killer.sh/
これは会社の同僚に教えてもらったもので、レクチャーは無く、練習問題だけのサイトです。
費用は30ユーロで、問題は無限に繰り返せるわけではなく、1つのセッションは36時間しかアクセス出来ません。その時間内であれば、問題も繰り返し解けて、復習もできると言う感じなので週末に集中してやるといいと思います。
難易度はMumshadさんのやつよりかなり難しく、実際の試験のHardレベルに合わせて作っているらしいので練習にはちょうどいいと思います。
僕は2時間で半分くらいしか得点出来てなかったと思います。ちなみに実際のテストも割とギリギリでしたが、これをやってなかったら受かってなかったと思います。
Tipsみたいなのも結構載っていて役にたったなと思います。
他にも練習サイトなどあると思いますが、上記2つしか使ってません。
その他
・tmuxをおすすめしている人が多いですが、僕はほぼ使わず、必要性もあまり感じませんでした。”クラスタをアップグレードせよ”系の設問ではkubeletとかインストールする必要があるので、その時に使ったくらいですかね。
・aliasやexportなどは有効に使いましょう。
・kubectlのAuto completionは便利でした。人によっては、ブラウザが重くなって操作しづらくなるとのコメントもありますが、僕は特に気にならなかったです。在宅勤務できるくらいの通信速度があれば問題ない気がします。
・2時間ありますが、きちんと練習しておけば時間は結構あまると思います。僕は30分くらいあまりました。
・同僚は1ヶ月くらいの準備で大丈夫だったらしいです。経験がある人なら1ヶ月くらい、僕のように初心者であれば3ヶ月くらいの準備期間を目安にするといいかもしれないです。
ぱっと思いつくのはこれくらいです。
誰かの参考になればいいな。