【試験内容改定後】CKADに合格しました(2021/11)
CKADの概要
CKAD: Certified Kubernetes Application Developerで、CNCF公認の資格です。試験は120分で20問弱。実技試験で各自ターミナルが与えらえれるので、ターミナルを使ってKubenetesリソースを作ったり動かないPodを修正する、というのが試験の内容です。 試験中は公式ドキュメントのみ参照することができるので、kubectlコマンドで作成できないリソースは公式Docからコピペして持ってくるというのがこの試験での通例みたいです。
そして、この試験ですが2021年9月に試験範囲が大幅に改定されました。
CKADプログラムの変更:2021-LinuxFoundation-トレーニング
- アプリケーションの設計と構築–20%
- アプリケーションの展開–20%
- アプリケーションの可観測性とメンテナンス–15%
- アプリケーション環境、構成、およびセキュリティ–25%
- サービスとネットワーキング–20%
以前と見比べると、章立てからだいぶ変わったように見えます。具体的には、
- Helmを使ったリソースのデプロイ
- KubennetesAPIの非推奨
- カスタムリソース(CRD)
- 認証、アドミッションコントロール
このあたりが盛り込まれていて、だいぶ焦りました。(実は試験内容が変わってることに気づいたのは試験受験の1週間前...) 他の合格体験記ブログのほとんどは、試験内容の改定前のものが多くどこまで参考になるのかかなり不安でした。。 そして私はCKAD-JPを受験するつもりが、誤ってCKAD(英語版)を購入してしまいました。ボロボロ...
Kubernetesの経験と受験背景
ほとんどなく、Kubernetesを軽く触ったことがある程度。Dockerにはある程度の知見がありました。 普段はアプリばっかりやってるのでインフラ系の知識には疎く、Kubennetesの各リソースの概念を感覚的に理解するのに若干苦戦していました。 k8sを体系的に学べるいい機会かな、という軽い気持ちで受験を決めました。
準備期間とやったこと
試験改定後でもやったことは他の方とおんなじです。
■Udemy - Kubernetes Certified Application Developer (CKAD) with Tests -
他のブログでも数多く見かけて推奨されてるやつです。 2000円弱だったので失敗しても痛くない!と割り切り、細かいことは何も見ずに購入しました。 Kubernetesの各リソースについて、概念からしっかり説明してくれるのでかなり整理できました。ServiceってClusterIPとNondeportとかあるけど何が違うの?DeploymentとかPodとかよくわからん。って状態の自分にはかなり良かったです。 音声が英語のみですが、字幕がすべて表示できるのと説明するときはほとんどアニメーション付いてるのでだいぶ理解しやすかったです。 あとは他の有料サービスとかと比べても、試験改定後の内容についても対応してるのはこのUdemyの講座だけらしいです。
■CKAD-exercises
Udemyでみっちり演習できるので基本的にはなくてもいいですが、本番をよりイメージした問題で演習したかったのでやりました。 Udemyでカバーできてはいますが、小手先のテクニック的なものはこの演習で習得できた気がします。 このリポジトリの演習される方で、GCPの無料期間を使ってKubennetes環境を構築したりする方もいるようですが、私の場合はUdemyの講座で利用する演習用のWebターミナルを使ってこのGithubの演習をしてましたw
最終的には2周して全部解ける状態にしました。
ちなみに、本番の試験ではこれらの演習を複数組み合わせたものが1問として出てきます。なので感触としてはもうちょいムズイのが出てきます。
受験の流れ
受験予約
Myportalから予約をしますが、空いている時間を確認するだけでものすっごい時間がかかる。。(処理が遅い) 割と混んでたので予約するだけで30分くらいかかりました。
ポータルから試験の受験
15分前から受験が可能になります。CKAD-JPではないので心配してましたが、外国人とのチャットのみで会話をする必要はありませんでした。 日本人でもわかるレベルの短文で「パスポートある?」「部屋の中をカメラで移して歩き回ってほしい」「ヘッドホンは使わないからしまってね」みたいなことを言われました。
自信満々にパスポート見せたところ、 「有効期限が切れてるね」と言われ、運転免許証とクレジットカード(裏の署名なくてその場で署名😂)を見せてなんとか本人確認も突破しました。
試験本番
他の合格体験記を呼んでいて、問題の比重(4%、8%など)が各問題に振り分けられているので、重いものからやれ!、簡単なものからやれ!というものを見かけていたのですが、 緊張していたのと英文で表示していたので飛ばし読みができずパニックに。1問6分のペースを守るのを心に決め、1問目から闘うことにしました。
私が受けた試験では、1問目~3問目くらいがだいぶ意地悪な問題で、正直これまでやってきた演習からははるかに難易度が上がった内容に感じ、「改定されて難化してんじゃないのか?!」と半分絶望してました。(自分に) 絶望しながらも問題を進めていくとこれまでやってきたような問題が数多くでてきたので、なんとか平静を取り戻しました。 試験中のトラブルは特になく、ターミナルがフリーズするような現象が起こりましたが、試験画面上でターミナルを再起動できるボタンがあったので大事には至りませんでした。
20問弱でしたが、最後の問題が終わったときに予想外に時間が15分程度余っていたので、途中飛ばしたところも含め前半の難しい問題に時間を割くことができました。 ほとんどはkubectl create コマンドでリソースを作りつつ、コマンドオプションで対応していない細かい設定値が出てきたら公式Docからコピペで拾ってくる、という感じで解き進めていきました。 kubectl explainで時間かかるようであれば、ささっと公式Docからコピペで持ってきた方が早いように感じます。
合否の連絡
試験改定されてから24h以内に合否が来るようになっているらしく、結果待ちでずっとソワソワしてました。22、23時間後くらいにMyportalで結果を確認しました。 結果は見事合格。
一発合格できてホッとしました。。
試験を終えて
一言でいうと想像していたよりも難しかったです。試験を通じてKubernetesの概念を体系的に学べたので、今後プロジェクトに活かせるよう引き続き学習を頑張りたいと思います。 終わった今は達成感や解放感に満ち溢れていますが、資格試験は精神衛生上良くないので頻繁にはやりたくはないです。 ここからはKubernetesエコシステム(特に監視系)の導入を頑張りたいと思います!