機雷がなんだ! 全速前進!

SEというかプログラマというか、日々のエンジニア生活の中で体験したことなどを中心に書き残しています。

Certified Kubernetes Security Specialist (CKS) 試験に合格しました【k8s三冠達成】🐳🐳🐳

本日(4/17)Certified Kubernetes Security Specialist (CKS) 試験に合格しました。過去に取得したCKA、CKADと併せて念願のk8s三冠達成🐳🐳🐳できました!個人的な感想としては、これまで受験した資格試験の中で過去イチ難しかったと感じています。合格するまでの勉強方法などのメモです。誰かの何かの役に立てば幸いです。(※ほぼ未来の自分用ですw)

 

Kubernetes認定資格について

Kubernetesは、Googleの社内技術を元にオープンソース化されたコンテナオーケストレーションのデファクトスタンダードとも言うべきものです。ググればいくらでも情報が見つかるのでここでの説明は割愛します。

 

3年前(2020年)はCKAとCKADしかありませんでしたが、現在ではLinux Foundationが認定するKubernetesの認定資格は、次の4種類(KCNA/CKA/CKAD/CKS)があります。2020年11月にCKS、2021年11月にKCNAの認定試験が追加されており、ここ数年におけるKubernetesニーズの高まりを感じます。

略称 正式名 概要

KCNA

KCNA-JP

  • Certified Kubernetes Administrator (KCNA)
  • 認定Kubernetesクラウドネイティブアソシエイト (KCNA-JP)
Kubernetesと広範なクラウド ネイティブ エコシステムに関する基本的な知識とスキルを証明する(有効認定期間:3年間)

CKA

CKA-JP

  • Certified Kubernetes Administrator (CKA)
  • 認定Kubernetes管理者  (CKA-JP)
Kubernetes管理者の責任を遂行するスキル、知識、および能力を備えていることを保証する(有効認定期間:3年間)

CKAD

CKAD-JP

  • Certified Kubernetes Application Developer (CKAD)
  • 認定Kubernetesアプリケーション開発者 (CKAD-JP)
ユーザーが Kubernetes 用のクラウドネイティブ アプリケーションを設計、構築、デプロイできることを証明する(有効認定期間:3年間)

CKS

CKS-JP

  • Certified Kubernetes Security Specialist (CKS)
  • 認定Kubernetesセキュリティスペシャリスト (CKS-JP)
Kubernetesの熟練した実践者(CKA認定が必要)であり、コンテナベースのアプリケーションやKubernetesプラットフォームの構築、デプロイ、ランタイム時のセキュリティを確保するための幅広いベストプラクティス能力を実証する(有効認定期間:2年間

入門編のKCNA以外は受験費用は何れも$395です(JPは$430と割高です)。およそ3年前にCKAとCKADを受験した時の費用は$300でしたのでかなり値上げされている印象ですね。但し、これまでと同様で費用に1回分の再受験が含まれているので心理的にもお財布的にも嬉しいのは変わらずでした。また、時々割引キャンペーンで受験費用が10〜30%OFFになることがあるので、試験対策を進めながらこまめにチェックするとお得に受験できるかもしれません。

ちなみに、日本語(の試験官)で試験を受けたい場合はJPが付いているものを選択するのですが、現在のLinux Foundationの試験サイトには下記のように記載されています。

2022年12月31日以降、日本語を話す監督官は JP 試験をサポートできなくなります。2023年01月01日以降、これらの試験は英語を話す監督者によって監督されます。(注:試験内容は引き続き日本語で提供されます。)

リモート試験監督のチャット対応は簡単な英語が理解(読解)できれば問題ないですし、試験環境の言語設定を日本語に変更すれば、JP試験を選択せずとも(※2021年7月から)日本語で受験が可能ですので、今回は「CKS」で試験を申し込んで受験しました。ちなみに、CKSの受験者は、前提としてCertified Kubernetes Administrator(CKA)試験に合格している必要があるのでご注意ください。

 

今回の受験対象となる環境は【Ubuntu20.04、Kubernetes v1.26】でした。

 

■ 試験対策について

今回の試験対策で実践した内容は3つです。 (購入した順番に記載しています)

 

1.Udemy(※有償:¥4800 → ¥2400)★50%OFF!

一番最初に購入した教材です。CKAやCKADも基本的には、ほぼUdemy講座の一本足打法で学んだので、今回もまずは同じアプローチを採用しました。(後に、コレだけじゃだめだ!となる訳ですが、、、)

この教材の解説動画は英語なので、全部ガッツリ見るというより、概要を把握するためにサラッと参考程度に流して見ました。大切なのは、実技(PracticeとTEST)です。本番のCKS試験もしっかりと実技試験なので、下記のような学習の流れが効率良い気がしました。

  1. 解説動画をサラッと見て概要を把握する
  2. 実技(PracticeとTEST)をガッツリやる
  3. 実技の解説で不明点があれば、そこだけピンポで解説動画/書籍/ネットで学ぶ

また、講座の中で実技環境は「Killer Shell CKS」という環境を利用するのですが、特に試験前の実技練習としては、実技試験は時間との勝負という点もかなり重要です。こちらのシナリオを何度も繰り返して実践して実技に慣れておくことを強くおすすめします。

 

2.参考書籍

英語が得意でない身としては、Udemyの解説動画やネット検索だけだと学習効率が悪いと感じたため、補助的な教材として、CKSを学ばれた何人かの方がおすすめしていたこちらの書籍を購入しました。

まず本の全体構成を把握するためにサラッと流し読みしました。その後は、ガッツリ全部読むというよりは、前述した実技(PracticeとTEST)を実践した後でポイントを絞って読むのが、個人的にはおすすめの読み方です。日本語で体系的学ぶために良い教材ではありますが、対策として必須か?と言われると少し微妙な気もします。日々どんどんとバージョンが上がっていくKubernetesに対して、本の情報は古いまま更新されていかないので、その点を理解してうまく活用する必要があります。(例:Kubernetes v1.25で削除されたPSPなど)

 

3.KodeKloud(※有償:$25/月)★サブスク契約サービス

前述の教材1と2で学び、昨年(2022年11月)CKSを受験したのですが、合格には至りませんでした。Udemyの教材を一旦やり切った気がしていたので、同じ教材だとどうしてもモチベーションが上がりそうもなく、加えて同じ教材で学んでも合格できるイメージが湧きませんでした。という訳で、こちらのサブスク教材を購入しました。

こちら教材は、実はCKAとCKADのUdemy教材で講師をされているお馴染みの方(Mumshadさん)で、なぜかCKSの教材はUdemyにないので、KodeKloudのサービスをサブスク契約して直接利用するという感じでした。内容はUdemyの講座と重複する点も多々ありましたが、全体的に簡潔で分かりやすい印象でした。Udemyと同様に実技を中心に実施し、実技の解説で不明点があれば、重点的に解説動画/書籍/ネットで学ぶ、というアプローチは同様です。

 

4.Kubernetes Exam Simulator(CKS Simulator)

CKSの試験申込みを行うと、こちらの試験シミュレーター(Killer Shell - CKS CKA CKAD Simulator)を2回まで利用できるようになります。1回あたり36時間利用でき、本番に近い環境で模擬試験を実施することができます。厳密には本番の環境とは異なりますが、かなり近しい環境で本番さながらの試験を体験できるので、試験までに必ず活用することをおすすめします。この模擬試験は、解説付き解答が用意されているので、うまく回答できなかった問題は、しっかりと解説を読んで理解します。実技を伴うこの試験では、本番試験中にじっくりと考え込む時間は殆どありません。そのため、ある程度感覚的に手が動くよう訓練しておく必要があります。この模擬試験は、36時間内であれば、何度でも再挑戦することができるので、試験1~2日前くらいにアクティブ化して2~3回ほど模擬試験を繰り返して手を動かしておくと良いと思います。

注意点としては、本番の試験と違い、この模擬試験では試験問題の言語を日本語に切り替えることができないため、Webブラウザ上の試験問題の英文をChromeのGoogle翻訳拡張などで翻訳しながら実施することになり問題文を理解するのに時間を要します。よって、模擬試験に設定された試験時間では足りなくなる可能性が非常に高いですが、本番ではそのようなことはないので、問題文の翻訳に要する時間については、あまり気にし過ぎなくても大丈夫です。

 

■ 試験本番の注意点

試験本番で気をつけることは、いろいろありますが、これまで受験された方々がいろいろとまとめ記事を書いてくれています。こちらのQiita記事が比較的新しい記事だったので「当日の試験について」を参考にさせてもらいました。当日の注意点の詳細は先達の記事に委ねたいと思いますが、前回CKAとCKADを受験し、今回CKSを受験して大きく変わったと感じた点について少しだけ触れておきたいと思います。

 

1.PSI Secure Browser(仮想接続を介して安全に試験配信する専用Webブラウザ)

前回(2020年)のCKAとCKADの受験時は、自分のPCにWebブラウザを使用して試験を受験するスタイルでした。そのため事前にBookmarkするなどして、試験で問われそうなドキュメントを準備した状態で試験に望むことができました。しかし、2022年6月から受験専用ツールである「PSI Secure Browser」を使用した環境のみでしか受験できなくなりました。現在はCKSだけでなくCKAやCKADなどの他の試験も同様の環境でのみ受験可能となっています。普段から使い慣れている自分のPC環境のWebブラウザと比べて操作感やレスポンスが大きく違うためこの点についてはかなり注意が必要です。(※以下が試験環境の説明動画です)

 

2.禁止された常駐アプリ(※これは、前回試験時もあったかも、、)

試験前のシステムチェックで終了させたはずの禁止ツール(Dropbox、OneNote、etc.)のサービスがバックグラウンドで勝手に起動して試験が中断される場合があります。CKSは試験時間が足りなくなることが多くいので、試験問題以外の要因で少しでも時間が削られるようなシチュエーションになると焦って自制心が乱れてしまいそうになりますが、もし中断されてしまった場合でも、対象のツール名がメッセージとして表示されるので、慌てず落ち着いてタスクマネージャなどから対象のサービスを終了して試験に復帰しましょう。もちろん、試験に全集中している時に思考が分断されてしまうのは良くないので、できるだけ自動起動しないように設定した状態で受験するのがベストです。ちなみに、私の環境の場合、試験中に2回ほど中断される羽目になりましたが、最小限のロスで復帰できたと思います。(実は計5回も受験したので大概のことに慣れてしまったという話もありますが...😅)

 

3.試験中のWebカメラの画角(※但し、試験監督によって差がある)

試験前のチェックで試験監督の指示で、受験する部屋の中をWebカメラで撮影して不正がないことを証明します。全てのチェックが終了して試験が開始されてからは、基本的にWebカメラは受験者の正面に設置し、受験者の顔が中央にしっかりと映っている位置で、リモート試験監督に監視されながら試験を進める必要があります。私の場合、初回受験時に正面でなく、斜め横にWebカメラを設置して受験したのですが、特に注意されることもないまま試験は終了しました。しかし、その後の再試験の受験時に別の試験監督から試験中にカメラ位置の是正を強く要求され、試験監督が納得するカメラ位置になるまで試験が中断されてしまいました。時間にして数分くらいだっと思いますが、どの位置に設置したら試験監督からOKが出るかを試験中に不慣れな英語のチャットでやりとり(※しかも、ChromeのGoogle翻訳拡張などは利用できません)しながら交渉するのはかなり骨が折れました。その後、試験には復帰しましたが、そもそも試験時間が足りないことに加えて、思考の分断、時間の浪費、それらによる焦りなどもあり、その試験はしっかりと不合格になりました。そんなもん、試験入る前に言えよ!って思ったりしましたが、後の祭りでした。ただでさえ時間が足りないCKSの受験においては、こういったちょっとしたことも、事前に把握して、準備しておくことが大事だと感じました。

 

■ 最後に

ずっと絶え間なく勉強を続けてきた訳ではありませんが、CKSを取得しようと思い立ってから取得までに1年くらいかかってしまったような気がします。結果的に受験履歴はこんな感じでした。改めて見るとひどい戦歴ですね、、、😅

  1. 2022/11/06:CKS-JP試験(初陣)←★不合格 ※割引クーポン(22%Off)$320
  2. 2022/11/23:CKS-JP試験(再試験)←★不合格
  3. 2023/04/09:CKS試験 ←★不合格 ※割引クーポン(50%Off)$198
  4. 2023/04/12:CKS試験(再試験)←★不合格
  5. 2023/04/16:CKS試験 ←☆合格 ※割引クーポン(50%Off)$198

CKSの受験条件であるCKAの有効期限がもうすぐ(2023/04/27)切れてしまうこともあり、もう取得は無理かなぁ、と思った瞬間もありました。これまでCKAやCKAD、またAWSのSAPやDOPなどの勉強をして来ましたが、CKSは個人的には過去イチ難しい試験だったように感じました。昔と比べて試験制度が変わったこともあるため単純な比較はできませんが、個人的には、

個人的な試験難易度:CKS>>>>>>CKA>=CKAD

くらいの印象でした。(こちらのQiita記事の試験難易度に激しく同意です。※個人の感想)

 

なんとか目指してきたk8s認定資格の三冠を達成できたのですが、保有しているCKAやCKADはうすぐ有効期限切れを迎えます。CKAやCKADの再取得を目指すかどうかは別途考えていきたいと思いますが、残すところ10日くらいある超刹那的三冠生活中は、一旦クールダウンしようと思います(笑)それでは、お疲れ様でした🙇

 

<追記>

ご覧のとおりひどい受験履歴でして、すべての受験費用をまともに定価でお支払いすると$1185(余裕で10万円超え)となってしまいます。が、定期的に公開される割引クーポン(10~30%)や過去にCKAやCKADなどを受験していると、半額バウチャー(なかなか気付かなくて見落としがちなので是非活用すべきです)がもらえたりします。これらを駆使することで全て合計しても$716の負担で済みました。まぁ、見方によっては、これでも十分お高いかもしれませんが、個人的には必要な投資だったかな、と考えて(言い聞かせて?)います。