CKS(Certified Kubernetes Security Specialist) 認定資格 を取得しました

# はじめに
だいぶ以前にCKA,CKADは取得していました。最近、案件で若干Kubernetesと触ることがあり、勉強がてらCKS取得にチャレンジしてみました。

# Certified Kubernetes Security Specialist とは
[この辺](https://training.linuxfoundation.org/ja/certification/certified-kubernetes-security-specialist-cks-jp/)を参照ください。
※CKS-JPは日本語試験監が担当するため、チャットは日本語対応でしたが、2022年12月31日で終わるようです。
　2023年1月1日以降は、試験内容は引き続き日本語ですが、チャット対応は英語となります。

# 教材
1. KodeKloud:[Certified Kubernetes Security Specialist (CKS)](https://kodekloud.com/courses/certified-kubernetes-security-specialist-cks/)
    - 座学・演習を行うことができます。CKA,CKAD取得時に大変役立ちましたので、今回も利用しました。
    - 演習がしっかりしています。問題をさっと見ただけで操作方法がすらすら思い浮かぶまで何度も復習しました。
    - ただ、環境につながらないことが多々あり、ここは改善して欲しいところです。
    - Kubernetesだけではなく、Linux、Docker、その他セキュリティ製品も学ぶことができます。
1. KodeKloud:[CKS – Challenges](https://kodekloud.com/courses/cks-challenges/)
    - 実践に近い演習問題になります。無料です。
    - 正答は公開されていない無いため、自身で色々調べる必要がありますが、それが知識向上につながります。
1. Udemy:[Kubernetes CKS 2022 Complete Course - Theory - Practice](https://www.udemy.com/course/certified-kubernetes-security-specialist/)
    - 有名なコンテンツです。
    - 私は座学は殆ど見る事無く、演習メイン(Killer Shell CKS)でした。
1. KLLR CODA:[https://killercoda.com/killer-shell-cks](https://killercoda.com/killer-shell-cks)
    - 上記コンテンツからリンクされている演習用のコンテンツです。
    - KodeKloudには無い問題もあり、勉強になります。KodeKloudよりもサクッと環境につながり、操作はし易いです。
1. KLLR SHLL:[Kubernetes Exam Simulator](https://killer.sh/dashboard)
    - 本番試験よりも難しい演習用コンテンツです。
    - 22問＋プレビュー用3問を受けることができます。難しく、量も多いため、初回では試験時間120分内で終えることができないと思います。慣れると60分ぐらいで解けるようになります。
    - 有料ですが、試験を購入すると2回無料(36時間/回 限定)で試すことができます。
    - 本番試験と似たような環境で操作することができます。
    - 私は、試験日の1週間前に1回、前日に1回試しました。それぞれ36時間の間に4回は繰り返し試しています。
    - 試験では、コピー操作や各アプリ(Firefox,ノートパッドもどき※,Terminal)の起動に癖があるため、本演習で操作に慣れた方が良いです。
※名称を忘れましたが左上のApplicationから起動することができます。

### 学習の流れ
1. KodeKloudのCKA,CKADを行う。
   CKA,CKADを取得してから期間が空いていたため、復習として行いました。
1. KodeKloudのCKSを行う。
   座学・演習をじっくり行いました。
1. KLLR CODAを行う。
   上記で慣れてきた後に行いました。
1. 上記で自信が付いたと思ったら試験予約を行います。
   その後、KLLR SHLLを行います。

# 当日の試験について
- 試験は自宅で行いました。
- 試験日時の30分前には、試験を開始することができ、まずは試験前準備を行います。
    - 試験前準備は15～30分要し、内容は下記の通りです。
        - 専用のソフトウェアをインストールします。200～300MBあったと思いますので、インターネット環境はそれなりのものが必要です。
        - 専用ソフトウェア起動後、Webカメラを通じて、身分証明証と自身の撮影を行います。
        - チャットを通じて試験監から指示が入りますので、それに従います。
            基本的には、Webカメラで「天井、テーブル下含む部屋中」「耳にイヤホンが無いこと」「手首に何も付けていないこと」の撮影を行います。
            ※チャットは日本語ですが、2023年1月1日から英語になるようです。
- 当日かなり寒かったため、キーボードを叩く指がスムーズに動かず苦労しました。試験用の部屋の温度管理はしっかりしておいた方が良いと思います。
- 試験内容は、16問出題され、簡単なものからKLLR SHLL並みの難しいものまでありました。公式ドキュメントでは記載が無くコマンドのヘルプを見て対応せざる負えない問題もありました。
- 試験時間は120分で、90分で1周(2問ほど飛ばし)し、残り30分で飛ばした2問を対応しました。時間ギリギリまで使いましたが、うまく動作せずその2問は落としています。
- 試験は、昔と異なり、リモートデスクトップ環境(Linuxベース？)で行いますが、独特であるため、KLLR SHLLで慣れておくと良いと思います。私は以下の工夫をしました。
    - (KLLR SHLLよりも)反応が遅いため、変に連打をせず、ゆっくりとタイプやスクロールを行う。特にブラウザのスクロールはいつものように操作すると行き過ぎることが多いです。
    - 画面が小さいが、仮想デスクトップ機能があるため、Terminalとノートパッドもどきは、デフォルトの画面、ブラウザ(Firefox)は別の画面にします。こうすることで画面の小ささはある程度解消できると思います。画面右上に4つの仮想デスクトップ画面があるため、マウスクリックで切替、ドラッグでアプリの移動ができます。
    - Terminalは2～3個、ノートパッドもどきは2個起動しておき、参照用、編集用と決めたうえで操作を行う。効率は良くなると思います。
    - Terminalは、デフォルトでは文字が大きすぎるためズームアウトしておきます。
    - ノートパッドもどきは、デフォルトは右端で折りたたまないため、見ずらい場合はwrap word？（名称を忘れました）を有効にして、折りたたむようにします。
    - ブラウザは、ページが表示するのが遅いため、予めkubernetes.ioとfalconサイトをそれぞれの別タブで開いておく。kubernetes.ioはさらに検索用とAPI Reference Docs用にそれぞれ分けた方が良いと思います。また、ブラウザの最大化を行います(デフォルトではブラウザの下が見切れるため、検索がうまくできませんでした)。
    - ブラウザですが、昔のように予め自身のブラウザで纏めたブックマークを使うことができませんので、事前に検索キーワードを覚えており、知りたい機能はそこでさっと調べることができるようにします。例えば、volume系は「pvc」、コマンド一覧を見たいときは「cheat」等です。
    - コピー/ペーストのショートカットキーは、下記のように使い分けました。
        - 問題分からリモートデスクトップ環境のTerminalへのペーストは、[ctrl]+[shift]+[insert]　※問題文からリモートデスクトップ環境のノートパッドもどきへのペーストは[ctrl]+[v]でできます。
        - リモートデスクトップ環境内のコピー/ペーストは、[ctrl]+[insert]/[shift]+[insert]
- 残り時間を知らせてくれる機能(30、15、10分前等)があります。
なお、120分経つと強制的に試験環境が終了しますので、残り1分きったら、設定の保存等のクロージングを行った方が良いです。
- PSP(Pod Security Policy)は出題されず、出題があるとするとPSAになると思います。KLLR SHLLもPSAになっています。

# 感想
- 試験結果は、試験終了後23時間後にメールで案内がありました。2問は確実に間違えていたため不安でしたが、なんとかギリギリで合格できました。CKA,CKADでは9割の得点でしたが、今回はそれを大分下回りましたので、CKSの難しさを身に沁みました。
- (会社持ちですが)試験料が結構高いため、取得できてよかったです。