CKS（Certified Kubernetes Security Specialist）受験談と学習法、、、そしてKubernetes認定資格全冠達成

## 概要
2月24日にCKS（Certified Kubernetes Security Specialist）に合格したので、学習したこと等を情報共有として書いていきます。
合格基準67点のところ、1回目が38点、2回目は64点、3回目が91点でようやくの合格でした〜いやいや、2回目で合格しろよという声が聞こえてきそうですね:sweat_smile:
CKS試験を合格したことで、Kubernetes認定資格全冠のKubestronautの称号を獲得することができました:v:
日本では多分48人目、世界では多分1260人目になるのかな〜

https://www.cncf.io/training/kubestronaut/?_sft_lf-country=jp

著名な方や大企業に所属されている方々と一緒に並ぶことができるとは光栄です:grinning:
そしてKubernetes認定資格全冠にチャレンジさせてくれた会社の制度に感謝ですね:bow_tone1:
青いジャンバー、早く届かないかな〜

## 前提の知識と経験
どこかの記事にも書いていますが、業務でKubernetesを使ったことはありません。
コンテナオーケストレーションではAWS ECSを構築したことやコンテナベースの開発環境構築やCI/CD設計構築はしていましたがというところで、Kubernetesは自己学習レベルでいじっている感じです。

## CKS試験の難易度
CKAの上位試験とはいえ、CKAとCKADと比べものにならないくらい難しかったです。
何が難しいかというと、もうKubernetesのコマンドで対応する範囲を超えていて、CNCFのセキュリティ系サービスをKubernetesに適応させたり、コンテナのセキュリティを向上させたりと本当にKubernetesは関係あるのかと思ったくらいです。
それに加えて2時間で15~20問を解答する必要があり、スピードを求められているため、悩んだり考えたりする暇は本当にありません（私が受けた時は16問でしたね）。
あと2024年10月にCKS試験の内容が更新されたので、インターネットで把握できる情報と今の試験の方針が若干違っていましたね。
本当に心が折れるかと思いました:dizzy_face:

## 学習時間
KCSA試験が1月18日に終わり、3回目の試験が終わったのが2月24日ですので、だいたい1ヶ月くらいですね。
その間、平日は2〜3時間、休日は6~8時間くらい勉強していました。
よく考えるとかなり短い学習期間で受験していたのですね〜気がつかなかったのですが、気持ちがハイになっていたのかな:thinking:

## 学習方法
### 1. Docker/Kubernetes開発・運用のためのセキュリティ実践ガイド
DockerとKubernetesのセキュリティ対策方法が記載されている書籍です。セキュリティに対する考え方や対策を俯瞰して把握することができましたね〜

https://www.amazon.co.jp/Docker-Kubernetes%E9%96%8B%E7%99%BA%E3%83%BB%E9%81%8B%E7%94%A8%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-Compass-Books%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E9%A0%88%E7%94%B0-ebook/dp/B085C8LYDC/ref=sr_1_41

### 2. KillerCoda
CKS試験の内容に沿った各シナリオを手を動かして解答していくサイトになります。CKS試験以外にもお世話になりましたが、今回は有料版で使ってみました。
有料版はシナリオのロード時間が早くなり、待機をスキップすることができるので、ストレスなくテスト勉強ができます。
繰り返し各シナリオを解答していって、Kubernetesのセキュリティ対策とセキュリティサービスの設定や使い方に慣れていきましょう。

https://killercoda.com/

### 3. KodeKloud
Kubernetes試験でお馴染みのハンズオンテストと動画学習の形式で学習できるサイトです。
CKAとCKADは無料ですが、CKSは有料ですので、1ヶ月の有料会員に登録しました〜1ヶ月約5,000円、、、合格のための必要な出費です:sob:
まず一通り動画を観てCKSの概要を学習し、その後はハンズオンの模試をひたすら解いていきました。
模試はCKSの内容に沿っていますので、全部解けるようにしておきましょう。

https://kodekloud.com/

### 4. Killer Shell
CKSの試験を購入すると付いてくる2回分の模試です。試験時間は2時間で約20問、採点は1回のみですが36時間試験環境を操作できます。
この模試は、必ずやってください。
CKAやCKADの場合、Killer Shellの模試より簡単でしたので、たかをくくっていましたが、CKSに限ってはKiller Shellと同等のレベル感でした。Killer Shellの方が作業量は多いですが、レベル感が同じというところです。
ですので、模試終了後も環境を使えるので、操作感を試したり覚えたりしておきましょう。特にターミナルとブラウザのコピペのショートカット、ターミナルのタブを増やす方法、メモ帳の位置を覚えておくなどなど。
普段できることを試験中にできるように慣れておきましょう。

## 試験
### 1回目
上記の学習で準備はしていましたが、緊張していてか問題文と解答への道筋が結びつかず撃沈、、、ドキュメントを読みながら解答していましたが、解答が半分にも満たずにタイムオーバー:cold_sweat:
CKADの教訓を忘れていましたが、ドキュメントを見る機会を必要最低限にとどめるまで覚えるができていませんでしたね〜あと、日本語訳の独特な問題文の言い回しに対応できていなかったですね。

### 2回目
上記の反省を踏まえての2回目。ドキュメントの閲覧を最低限にとどめて問題に取り組みましたが、想定と違う挙動に戸惑い、5問くらいを後回しして解答を進めていましたが、最後の問題を解いたところで、見直し等できずにタイムオーバー:cry:
Killer Shellで動いたコマンドが管理者権限でも起動しなかったり、問題の解く順番が違って手戻りが発生したりと時間がかかってしまいました。
問題の解き方は分かっていたけど手をつけられずに終わったのは悔しかったですね〜

### 3回目
上記の反省を踏まえ、打てないコマンドはすぐに諦めて別の方法で対応し、手戻りのない解き方を事前に学習して、3回目の挑戦。
落ち着きつつ手早く問題を解くことができたので、特に問題なく対応できました。

## アドバイス
CKSを合格するためにはKiller Shellを完璧にしておきましょう。これができていれば、絶対合格できます、、、私みたいに3回も受験しなくて大丈夫です:ok_hand:

## 最後に
CKSを通してセキュリティの基本とKubernetesに付随するセキュリティツールの使い方が分かってきましたね〜Kubernetesの定義や参考書を読んで理解できるようになってくるのは中々嬉しいです。

一旦、Kubernetes認定資格全冠のKubestronautの称号をいただいたので、何かしらKubernetes界隈を盛り上げていけたらなぁ〜と思います。
あと38歳からエンジニアになって4年と少しで、こういう称号をもらえると自信になりますね〜スキルも経験も少なく、他のエンジニアと同じ土俵に上がるための一つの手段で、こういう称号が必要かなと思っていたので、当面の目標は達成できたかなぁと。

それでもまだまだですので、私の学習は続いていきます:pencil2: