はじめに
CKAの有効期限が近づいてきたため、約2年ぶりに再受験しました。
現在CKAは取得から2年間有効で、Kubestronaut称号を維持するには定期的な更新が必要です。今回は試験の勉強方法や、2年前と比較して変わった試験内容・試験環境についてまとめます。これからCKAの更新を検討している方の参考になれば幸いです。
試験準備
使用した教材
2年前に購入したUdemyのCKA講座を引き続き利用しました。
一度購入すれば継続してアップデートされる点が非常にありがたく、2年後の再受験にもそのまま活用できました。また、KubeCon EU 2026では講師のMumshad Mannambethさんに直接お会いすることができ、改めてモチベーションが上がりました。
基本的には練習問題をメインに勉強を進めました。座学でインプットするよりも、手を動かしながら身につける方が実際の試験でも応用が利くと感じています。
2年前から追加された出題範囲
今回の試験で、2年前には対象外だった以下のトピックが新たに追加されていました。これらのセクションを重点的に学習することをおすすめします。
- Admission Controller
- HPA / VPA(Horizontal / Vertical Pod Autoscaler)
- Priority Class
- Gateway API
- CRDs(Custom Resource Definitions)
- Helm
- Kustomize
Killer.shの活用について
試験1週間前に、本番環境に近い模擬試験サービスであるKiller.shを活用しました。
ここで重要な注意点があります。Killer.shのセッションは2回分提供されますが、CKA-AとCKA-Bのように内容が異なる問題セットになっています。
2年前に受験した際はセッションの内容が同じだった記憶があり、今回も直前の腕試しのつもりで2回目を解き始めたところ、まったく見たことのない問題が出てきて焦りました。2回分のセッション内容は違うということを踏まえてスケジュールを立てられることをおすすめします。
試験予約
CKS(Certified Kubernetes Security Specialist)を受験したときは、1週間前だと土日の枠がほぼ埋まっていた記憶があります。しかし今回のCKAは1週間前でも土日に空きがありました。CKSは9月上旬、今回のCKAは5月中旬という時期の違いが影響しているかもしれませんが、早めに予約しておくに越したことはありません。
試験当日
試験官とのやりとりが日本語対応に
2年前は試験官とのやりとりがすべて英語でしたが、今回は日本語対応になっていました。ところどころ不自然な日本語表現もありましたが、全体的にはスムーズに進められました。英語でのコミュニケーションに不安がある方にとっては大きな改善点だと思います。
作業スペース確認がスマートフォンでOKに
以前はPC(ノートPCやスマートフォン)を持って部屋中を歩き回り、四方の壁や机の下まで見せる必要があり、なかなか手間がかかっていました。今回はスマートフォンのカメラで確認できるようになっており、この点の改善は非常に助かりました。
試験開始直後の落とし穴
試験官とのやりとりが日本語だったためか、試験開始時にターミナルの入力が日本語モードになっていて、コマンドが入力できないという状況に陥りました。焦らず落ち着いて英語入力に切り替えてから作業を始めましょう。
問題形式の変化 〜コンテキスト切り替え → SSH〜
2年前は全問題が同一マシン上で動作しており、kubectl config use-context [context名]でコンテキストを切り替えながら解いていました。しかし今回は問題ごとに異なるノードへSSHする形式に変わっていました。問題文をよく読んでSSH先を確認してから作業を始める必要があります。
問題数・内容
問題は全16〜17問ほどでした。新たに追加された出題範囲(Helm、Kustomize、Gateway APIなど)からの出題も多く感じました。各問題には動作確認用のコマンドがほぼ用意されていたため、自分で検証コマンドを考える必要はほとんどありませんでした。
Tips 〜試験勉強で役立ったコマンド〜
kubectl replace --force でリソースを作り直す
リソースを削除して新しく作り直したい場合、deleteとcreateを別々に実行するよりreplace --forceがスマートでした。
# delete & create を一発で実行してくれて便利
kubectl replace -f /tmp/kubectl-edit-522311451.yaml --force
persistentvolumeclaim "app-pvc" deleted from storage-ns namespace
persistentvolumeclaim/app-pvc replaced
時間制限のある試験では、こういった一手間を省くコマンドを知っておくだけで大きく違うなぁと思います。
サイドカーコンテナの正しい定義方法
「サイドカーコンテナを作れ」という問題が出た場合、直感的にはcontainersフィールドに追加しがちですが、Kubernetes 1.29以降のサイドカーコンテナはinitContainersにrestartPolicy: Alwaysを指定する形式です。
initContainers:
- name: sidecar
image: busybox
restartPolicy: Always # これでサイドカーとして動作する
command: ["sh", "-c", "while true; do echo sidecar running; sleep 5; done"]
私は最初、通常のcontainersに追加してしまいハマりました。
Helmのリポジトリ・チャート名を調べる
helm search repo | grep nginx
bitnami/nginx 23.0.5 1.30.0 NGINX Open Source...
bitnami/nginx-ingress-controller
チャート名を正確に知りたいときはhelm search repoでリスト表示してからgrepで絞り込むと効率的です。
合格後〜証明書の日付について〜
試験の翌日に合否の通知メールが届きます。無事合格できたのですが、一点気になったことがありました。合格証明書の日付が初回取得時のまま更新されていなかったのです。
サポートに問い合わせたところ、要点をまとめると以下の通りでした。
- 期限前に再受験した場合、既存の認定資格が「更新」される扱いになるため、証明書の取得日は初回合格日(私の場合は2024年6月2日)が引き継がれる
- Credlyのバッジは認定資格ごとに1つしか発行されないため、新たなバッジは届かず、既存バッジの有効期限が自動的に延長される
「証明書の日付が変わっていない=更新が反映されていない」と誤解してしまったのですが、有効期限はきちんと延長されています。初耳だったので、ここで共有しておきます。
まとめ
約2年ぶりのCKA再受験でしたが、出題範囲の拡充もあり、改めて全範囲を学び直すのはなかなか根気のいる作業でした。
試験環境の面では、日本語対応や作業スペース確認のスマートフォン対応など、受験者に寄り添った改善が見られた点はとても好印象でした。一方で、問題形式がコンテキスト切り替えからSSHへと変わっていたり、Killer.shのセッション内容が異なっていたりと、2年前の感覚のまま臨むと戸惑う変化もありました。
これからCKAを受験・更新する方へ向けたポイントは以下です。
- Killer.shのセッションは2種類あるので1回分で満足して忘れていた!ということがないように
- 新出範囲(Helm / Kustomize / Gateway API など)を重点的に対策する
- 試験開始時は日本語入力になっている場合がある。英語入力に切り替えてから始める
- 問題ごとにSSHする形式になっている。問題文を丁寧に確認する
- 期限前更新の場合、証明書の取得日は初回日付が引き継がれる仕様
Kubestronaut称号を維持し続けるため、引き続き再認定試験を頑張っていきます!
