初学者が5ヶ月でCertified Kubernetes Administrator (CKA) 合格までにしたこと

Certified Kubernetes Administrator(以下、CKA) - curriculum v1.14.1を取得しました。
コンテナ？？？だった私がCKA取得までの経緯を載せることで、まだ手を伸ばせていない人の学習のきっかけになればと思います。

前提として、仕事でKubernetesを触っていないので完全に自己学習の世界です。（機会を作りたいな！）
そのため「仕事で使える技術の学習方法」とは角度が異なるので注意ください。

# 結論
1. 仕事でKubernetesを触っていなくてもCKAは合格できる
2. ハンズオンなしでは合格できない
3. Udemy「Certified Kubernetes Administrator (CKA) with Practice Tests」がオススメ

# スケジュール
2019/4　　Udemy「Docker and Kubernetes: The Complete Guide」
2019/5-6　GKEを利用してサンプルアプリケーションをデプロイ、書籍：Kubernetes実践入門
2019/7　　Udemy「Certified Kubernetes Administrator (CKA) with Practice Tests」
2019/8　　CKA受験に焦点をあて準備
2019/9　　CKA受験(84%で合格)

# 進め方
### 1.DockerとKubernetesの概要を理解する期間(2019/4-6)
#### Dockerの学習期間
まず大前提としてDockerを通してコンテナをなんとなくでも理解する必要があります。
Dockerのコマンドを詳細に知る必要はありません、ただコンテナの仕組みや目的、そして簡単な操作方法は覚えましょう。

私はUdemy「Docker and Kubernetes: The Complete Guide」を利用しました。
一通りDockerの操作方法やコンテナの目的、仕組みを学べます。
後半はKubernetes編もありますが、CI/CDまで踏み込み難易度が高いの触り以降はでスルーが良いかと思います。

#### Kubernetesの学習期間
次にKubernetesを全体的に学びましょう
有名な書籍がいくつかありますが、私は「Kubernetes実践入門」をオススメします。
アプリケーションのデプロイに向けて段階的に必要な知識をインプットしながら、実践していきます。

そして、出来れば目標を作りKubernetesにアプリケーションをデプロイしてみましょう。
私はGKEにRedmineを構築するという目標で実践しました。
このプロセスは非常に重要でした、なぜなら色々な疑問点が山ほど沸いてきますので次のステップで多くがスッキリと理解しやすかったからです。
ここではKubernetesの仕組みはなんとなくわかった、YAMLも調べながらなんとか書ける程度が目標です。

### 2. Kubernetesを詳細に理解する期間(2019/7)
私はUdemy「Certified Kubernetes Administrator (CKA) with Practice Tests」をオススメします。
タイトルの通りCKA取得を目指したコースですが、そもそもCKA自体がKubernetesを網羅的に理解していないと合格できません。そのため、試験勉強もさることながら、結果的にKubernetesの仕組みについて詳細を理解することができます。

そのほかにオススメするポイントは下記です。

- CKAの各セクションに対応した形でのレクチャー
　[curriculum/CKA_Curriculum_V1.14.1.pdf](https://github.com/cncf/curriculum/blob/master/CKA_Curriculum_V1.14.1.pdf)が私が受験した試験内容ですが、これのセクションに合わせた形でコースが用意されています。

- Kubernetes the Hard wayもカバー
　学習必須の[Kubernetes the Hard way](https://github.com/kelseyhightower/kubernetes-the-hard-way
)の解説版も用意されています。

- kodekloudでのハンズオン環境
　各チャプター単位のハンズオンテストや３種類の模擬試験も用意されています。特にテストでは英語/日本語で課題を指示されますが、その指示を正しく解釈する必要があるので慣れることも出来ます。

そのため、これを軸にして足りない知識を他で補完する形が私は体系的に学習できると考えています。

少し話が逸れますが、[curriculum/CKAD_Curriculum_V1.15.0.pdf](https://github.com/cncf/curriculum/blob/master/CKAD_Curriculum_V1.15.0.pdf)も目を通すことをオススメします。CKADの範囲は出ない(はず)なので、CKA合格を目指すなら勉強の"しすぎ"を防いで効率をあげるためです。

### 3. CKA受験に向けた準備期間(2019/8)
最後の１ヶ月で下記を実施しました。

1. Udemy「Certified Kubernetes Administrator (CKA) with Practice Tests」の２週目
　時間があれば２週目をオススメします。曖昧に理解していた点や、自然と見逃していた部分など気づきが多かったです。

2. 受験要項の入念な確認
　[Exam Resources](https://www.cncf.io/certification/cka/)は全て目を通しましょう。禁止事項が多く記載されています。

3. お気に入りの整理
　受験当日はGoogle Chromeの一つのタブで下記のサブドメインを含めたホームページは参照できます。つまり公式ドキュメントは受験中に読むことができるので、すぐに参照できるようにチャプター単位にお気に入りを準備し一通り目を通しました。
お気に入りを作る際は、[cka-lab-practice](https://github.com/stretchcloud/cka-lab-practice)が網羅的にまとまっていてわかりやすかったです。
 - https://kubernetes.io/docs/
 - https://github.com/kubernetes/
 - https://kubernetes.io/blog/

# 受験当日
私はAM 9-12@自宅で受験を予約しました。
試験はこのような形でした

- 画面共有
　ここが一番焦りました。画面共有の時に違う画面を共有していたみたいで、一旦全て共有を停止してくれと言われたのですが、場所がわからず手間取っていたら、指示に従わないと強制終了だよとチャットが来たので、とても焦りました。。

- カメラ越しにIDを見せて部屋を１週
　水（無色透明なボトルと液体はOK）を持ち込みましたが、特に何も言われませんでした。むしろパスポートをチェックしたあと机の上に置いたら、違う場所に置いて欲しいと指示があったのでクリーンデスクは厳しいようです。
　カメラはMacbookに具備されているものを利用しました。この時１週する際に電源を抜いたのですが、画面共有での焦りからスタートした後に外したままなことに気づきました。結果として電源が持ったのでよかったのですが、画面外から外れることはアウトなので電源をさすことも出来ず後半は落ち着きませんでした。

- 諸注意ののちにスタート
　諸注意があったらスタートです。あとは受験終了20分前の連絡と終了の時にチャットが来た程度です。


受験後、約30時間で合格(84%)の連絡がありました。
外したなと思う問題が2問(12%)、と怪しいと思う問題が1問(4%)だったので予想通りの結果でした。

# さいごに
合格までの流れをまとめました。
仕事でkubectlを触らないので徹底的にハンズオンで指に馴染むまで練習しました。
ここら辺のTipsはまた別の記事でまとめたいと思います。

次はCKAD合格に向けて勉強しているので、合格できたらまとめようと思います。
最後まで読んでいただきありがとうございました。