Certified Kubernetes Application Developer (CKAD) & Certified Kubernetes Administrator (CKA) 受験感想&準備方法

###記事リンク：
※ CKS紹介は<a href="https://qiita.com/T0P1X/items/feacea942137660f796c">こちら</a>です。
※ CKS受験感想は<a href="https://qiita.com/T0P1X/items/660ac6859e6ca27b4a49">こちら</a>です。                                                                                                                                                                                                                     

---
##1. はじめに
Kubernetes認定資格2種類に合格しましたので、学習方法と受験経験を皆様に共有したいと思います。
```Certified Kubernetes Application Developer (CKAD)``` & ```Certified Kubernetes Administrator (CKA)```を挑む予定がある方にお役に立てれば幸いです。
<div align="center">
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488023/2b242c95-b182-0fae-67b2-bd0f56ff2abf.png alt="属性" title="CKAD.png">
</div>
<div align="center">
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488023/c72aec86-ba39-bd48-ef0b-73b8ac1ebb2b.png alt="属性" title="CKA.png">
</div>
#2. Kubernetes認定資格
前述のとおり、Kubernetes認定資格は以下の2種類があります。

・<a  href="https://www.cncf.io/certification/ckad/">Certified Kubernetes Application Developer (CKAD)
</a>

・<a  href="https://www.cncf.io/certification/cka/">Certified Kubernetes Administrator (CKA)</a>

まず、ここではCKAD/CKAの試験カリキュラム(出題範囲)を比較しながら紹介します。

CKAD/CKA試験を提供しているCloud Native Computing Foundation(CNCF)の<a  href="https://github.com/cncf/curriculum">Exam Curriculm repository</a>にそれぞれの出題範囲を公開されています。　

##・ Certified Kubernetes Application Developer (CKAD)
<div align="center">
<img width="20%" alt="CKS" src="https://training.linuxfoundation.org/wp-content/uploads/2018/06/kubernetes-ckad-color-1.png">
</div>

試験時間：```2時間```
設問数：```19問```
受験料：```$300```
基準点：```66%```
認定有効期間：```3年間```
対策所要時間：```★★☆☆☆```
試験難易度：```★★★★★```
出題範囲：(v1.17時点)
・```Core Concepts (13%)```
・```Configuration (18%)```
・```Multi-Container Pods (10%)```
・```Observability (18%)```
・```Pod Design (20%)```
・```Services & Networking (13%)```
・```State Persistence (8%)```

##・ Certified Kubernetes Administrator (CKA)
<div align="center">
<img width="20%" alt="CKA" src="https://www.creationline.com/wp-content/uploads/2019/01/cka.png">
</div>

試験時間：```3時間```
設問数：```24問```
受験料：```$300```
基準点：```74%```
認定有効期間：```3年間```
対策所要時間：```★★★★★```
試験難易度：```★★★☆☆```
出題範囲：(v1.17時点)
・```Scheduling (5%)```
・```Logging/Monitoring (5%)```
・```Application Lifecycle Management (8%)```
・```Cluster Maintenance (11%)```
・```Security (12%)```
・```Storage (7%)```
・```Troubleshooting (10%)```
・```Core Concepts (19%)```
・```Networking (11%)```
・```Installation, Configuration & Validation (12%)```

ざっくり両者を比較して、```CKADはPodを中心に、Configuration、Network関連の理解```が求められ、```CKAはKubernetes Clusterのアーキテクチャについての理解、運用、保守```が求められます。
#3. 学習方法
CKAD/CKAの準備に学習コースと参考書を併用して学習しました。
##・ 学習コース
まず、学習コースについて、以下2つコースを中心に学習しました。
・<a  href="https://px.a8.net/svt/ejp?a8mat=3BBMET+1FSQEQ+3L4M+BW8O2&a8ejpredirect=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fcertified-kubernetes-application-developer%2F%3Fdeal_code%3DJPA8DEAL2PERCENTAGE%26aEightID%3Ds00000016735001">Labs - Kubernetes Certified Application Developer (CKAD) with Tests</a>
・<a  href="https://px.a8.net/svt/ejp?a8mat=3BBMET+1FSQEQ+3L4M+BW8O2&amp;a8ejpredirect=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fcertified-kubernetes-administrator-with-practice-tests%2F%3Fdeal_code%3DJPA8DEAL2PERCENTAGE%26aEightID%3Ds00000016735001">Labs - Certified Kubernetes Administrator (CKA) with Tests</a>
![CKAD1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488023/17ecb17d-4547-8529-81d0-17a28b48d539.png)
![CKA1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488023/b7d4f488-61ee-74cf-94d8-11c9755750bb.png)

CKAD/CKAはハンズオンベースの試験ですので、Kubernetesの動作環境を慣れる必要があります。　
上記の学習コースを選択した理由は、CKAD/CKAの出題範囲に100%対応する内容を提供しているほか、Kubernetesの動作環境の提供をはじめ、章別確認テスト、模擬テスト、ライトニングラボまで受験勉強に必要なものはすべて揃えています。しかも、時間無制限で使えます。CKAD/CKAを受けなくても、Kubernetesを勉強する意味だけでも価値があると思っています。
##・ 参考書
参考書について、あの有名な青山 真也さんが書いた```「Kubernetes完全ガイド」```を3回ぐらい読みました。
この本は参考書と呼ばれるより、Kubernetesの辞書と呼んでほうが妥当だと思います。
Kubernetesの説明は詳しいすぎ、その反面、Dockerに関する内容はほぼありません。
Dockerの勉強に1回ぐらい山田 明憲さんの```「Docker／Kubernetes実践コンテナ開発入門」```を目を通しました。
受験準備を振り返りをしてみたら、この二冊の本に大変お世話になりました。
##・ 練習問題
また、解答速度を向上するため、以下の練習問題を何回もやりました。
・<a  href="https://github.com/dgkanatsios/CKAD-exercises">dgkanatsios/CKAD-exercises</a>
・<a  href="https://github.com/bmuschko/ckad-prep">bmuschko/ckad-prep</a>
・<a  href="https://github.com/David-VTUK/CKA-StudyGuide">David-VTUK/CKA-StudyGuide</a>
・<a  href="https://github.com/kelseyhightower/kubernetes-the-hard-way">kelseyhightower/kubernetes-the-hard-way</a>
kubectlとkubeadmコマンドをひたすら叩いて、CLIでのリソース生成、yaml生成をたくさん練習しました。

また、公式ドキュメントを一回全部目を通して、どこに何が書いてあるのか大雑把に把握しました。
CKAD/CKA試験中に https://kubernetes.io/docs/ を参照することが可能です。試験中に効率よく参照できるよう、難しい内容はブックマークをつけまして、自分がすぐわかるような言葉でマークの備考を修正しました。要するに、何かのリソースを作りたいときには公式ドキュメントを参照して、テンプレートをいじれば作れるといった自分なりの解答方式を確立しておくことが重要です。

#4. 受験感想
受験前はLinuxもわからない人でしたが、<a href="https://px.a8.net/svt/ejp?a8mat=3BBMET+1FSQEQ+3L4M+BW8O2&a8ejpredirect=https%3A%2F%2Fwww.udemy.com%2Fcourse%2Fcertified-kubernetes-application-developer%2F%3Fdeal_code%3DJPA8DEAL2PERCENTAGE%26aEightID%3Ds00000016735001">Labs - Kubernetes Certified Application Developer (CKAD) with Tests</a>の環境を使ってLinuxコマンドを慣れるまで、ひたすら練習しました。CKAD試験前、Webカメラ不調で試験開始前の本人確認と環境チェックは大変でした。そして、最後に時間がなくなりちょっとパニックに陥りましたが、試験戦略として得点高い問題から解いたので、結果は無事合格し77%でCKADを通過しました。CKAD試験時の反省点を踏まえ、CKAは十分な事前準備をしました。設問を全部解いたところ、残り時間は80分ぐらいでした。80分で解答を2回もチェックしました。結果は無事合格し95%でCKAを通過しました。どこか間違えたのがわからないので、ちょっとモヤモヤしますね。Linux Foundationは時々割引を提供しますので、時々公式をチェックしたほうがお得です。ちなみに、```去年(2019)Cyber Mondayセールの時、60%OFFを利用してCKADとCKAを申し込みました```。

#5. さいごに
2019/8からDockerの勉強を始め、約6ヶ月をかけて受験準備をして無事にCKAD/CKA両方とも一発合格しました。普段の仕事は技術企画・事業企画ですので、この機にPrometheusをはじめ、Envoy、IstioなどのCloudnative技術を学習し、Cloudnativeを楽しもうと考えています。直近の目標は```Portworx Certified Admin (PCA)```と```Linux Foundation Certified System Administrator (LFCS)```を取得することです。これからも有意義なコンテンツを投稿しますので、ぜひ見に来てください。