CKAD 合格体験記

先日CKAD(Certified Kubernetes Application Developer)の試験に合格しました。
![WS000005 - コピー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181402/d8c00974-a4d5-8cf6-bafa-f8c3118cf60e.jpeg)
本記事では、CKAD受験までの勉強や準備、試験時の雰囲気などをまとめていきます。

## 勉強
##### 勉強時間について
もともとKubernetsを業務で少し触ったことがあるのと、プラスで30~40時間くらい？勉強しました。（測ったわけではなく、感覚的に出した数字です。）

##### 勉強環境
私は[minikube](https://kubernetes.io/ja/docs/setup/learning-environment/minikube/)をubuntu18.04にインストールして、その中でkubectlコマンドを試していました。
GKEなどを使うとより実践的な学習ができると思いますが、CKADを受験する程度でしたらminikubeで十分かと思います。

##### 教材
- **[Udemy - Kubernetes Certified Application Developer (CKAD) with Tests](https://www.udemy.com/course/certified-kubernetes-application-developer/)**
私はこちらをメインに使っておりました。
英語の動画教材ですが、CKADで問われる一通りのリソースを解説してくれます。
Ingressなどイメージのしづらいリソースなどについても、説明がとにかくわかりやすい。
また、各パートの後に演習問題を用意されております。実際にkubectlコマンドをたたいて、指示のとおりのリソースを作成するというものです。
さらには模擬試験も2つ用意されており、これが実際のCKADの難易度と同じくらいのものでした。
24,000円と高めの値段設定ですが、よくセールで90%OFFで提供されています。
英語に抵抗がなければ是非ご購入を検討してみてください。

- **[Kubernetes完全ガイド impress top gearシリーズ](https://www.amazon.co.jp/dp/B07HFS7TDT/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)**
「Kubernetesの書籍ならコレ！」というくらい有名な本です。Kubernetesを学習している方ならご存じの方も多いと思います。
私は補助教材としてこちらを購入しておりました。Udemyで概要を学習し、こちらで詳細な内容を学習するというような感じです。
CKAD合格だけが目標であれば、Udemyだけで十分かと思います。

- **[しくみがわかるKubernetes Azureで動かしながら学ぶコンセプトと実践知識](https://www.amazon.co.jp/dp/B07L94XGPY/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)**
CKADに向けて、というよりはKubernetes初学者の方におすすめです。
完全ガイドは分量が多くとっつきにくいところもあるのですが、こちらは広く浅くといったイメージです。
解説もわかりやすく、Kubernetesの基本概念を理解するには良い書籍だと思います。
逆にすでにある程度Kubernetesについてご存知であれば、おそらく不要かと思います。

## 試験準備
タスクリストが用意されますので、それに沿って準備するだけです。
試験会場が少し特殊で、以下の要件に沿った会場を自分で用意しなければなりません。
> Room must be quiet, private and well lit
> 部屋は静かで、プライベートで、明るいものでなければなりません。
> 
> Bright lights or windows should not be positioned behind the Candidate
> 明るいライトや窓を受験者の後ろに配置しないでください。
> 
> Testing from public spaces such as coffee shops, stores, etc. is not allowed
> カフェや店舗などの公共スペースでテストを受けることはできません。
> 
> No one other than the Candidate can be present in the room
> 受検者以外は誰も部屋に立ち入ることはできません。
> 
> Desk must be clear of all notes and electronics
> デスクにはメモや電子機器を置いてはいけません。

~~自分の部屋がとっ散らかっていたので、~~私は都内のデイユースのホテルを取り、そちらで実施しました。
調べたところ、貸会議室をレンタルしたりや自社の会議室を使っていたり、自室を片付けて会場として使ったという方もいらっしゃいました。

## 試験当日
- ##### 開始直前
試験開始の15分前から、タスクリストにある"Launch Exam"ボタンが活性化します。こちらをクリックすると、試験用のページに遷移します。ここからは試験も含め、すべてこのページで実施します。
少し待つと、試験官からカメラの設定・画面の共有をチャットで指示されます。
"CKAD-JP"試験だったので、指示はすべて~~ちょっと怪しい~~日本語でした。少し前まではすべて英語でのやり取りだったそうですが、最近日本のインストラクションになったようですね。
（私はここでうまく画面の共有ができず、あたふたしていました。。ブラウザの再起動を指示され、実行したところ成功しました。）
その後、身分証明書の提示を求められます。私は運転免許証とクレジットカードを提示しました。ハンドブックに必要な身分証明書は記載されていますが、パスポートがあると間違いなさそうです。
カメラで部屋の全体、PCの下などを映すように指示がありました。
近くに使っていないテレビがあったので、何かで画面を覆うように指示されました。
ここまでで20分ほどかかりました。アクシデントがなければ10分くらいで終わると思います。

- ##### 試験中
試験用のページでは、左側に問題が、右側にコンソールが表示されます。このコンソールにコマンドを入力し、問題を解いていきます。
問題文の言語切り替えも試験中に自由に行なえます。英語・日本語・中国語です。私は日本語表示にしましたが、日本語訳に大きな違和感はありませんでした。
画面にメモ機能もありました。
たまに試験官から指示や残り時間の連絡がチャットで届きます。（私は「口を手で覆わないでください」という注意を受けました。。）
配点は個々に異なっていて、簡単な問題ほど配点が高いような気がしました。
すべての問題を解き終わって、15分ほど余りました。時間が足りないと聞いていたので急いで解いたのですが、急ぎすぎたようです。

- ##### 難易度について
教材でも述べましたが、Udemyの模擬試験くらいの難易度です。
感じ方は人それぞれだと思いますが、個人的にはさほど難しくはないと感じました。
というのも、試験中にKubernetesの公式ドキュメントの閲覧は可能ですので、公式ドキュメントからコマンドやYamlをコピペすればリソースを作れるためです。
Kubernetesでやれることをある程度把握していれば、あとは問題に合わせて応用するだけです。
ただ、求められているアウトプットがいまいちはっきりしない問題がいくつかあり、かなり戸惑いました。。



## 結果発表
朝の10:30に受験し、翌日の22:32に結果がメールで通知されました。ハンドブックでも記載の合ったとおり、きっちり36時間後ですね。
結果とスコア、合格していれば認定証がWeb上で確認できます。

## 試験を終えて
この認定試験は、合格すると「Kubernetesをマスターした！」ということになるものではありません。
ですが、この学習を通して一通りのコマンド操作やリソース作成を体験できるので、実務でKubernetesを使ったアプリ運用をする上での足がかりになると思います。
私も業務で見様見真似で作ったリソースもあったのですが、この学習を通して理解を深められました。
Kubernetesでの運用における基礎を問われる試験ですので、Kubernetesを使う方なら取っておいて損はないと思います。