CKA / CKAD を取得しました

CNCF (Cloud Native Computing Foundation) が提供している、ふたつの Kubernetes の認定資格を取得しました。
受験準備や参照したリソースについて書き残しておきたいと思います。

試験概要

Linux Foundation 傘下で Kubernetes をはじめ様々な Cloud Native 関連の OSS プロジェクトをホストしている CNCF (Cloud Native Computing Foundation) という組織があり、そちらから提供されている監督付きのオンライン試験となっています。

CKA (Certified Kubernetes Administrator)

Kubernetes クラスタの構築・運用を行う管理者を対象とした試験です。

  • 試験時間:3 時間
  • 問題数:24 問
  • 受験料:$300
  • 試験官との応対言語:英語
  • 試験問題の言語:英語・日本語・中国語を適宜切り替え可能

CKAD (Certified Kubernetes Application Developer)

Kubermetes でアプリケーションを実行する開発者を対象とした試験です。

  • 試験時間:2 時間
  • 問題数:19 問
  • 受験料:$300
  • 試験官との応対言語:英語
  • 試験問題の言語:英語・日本語・中国語を適宜切り替え可能

試験官との応対、および試験の言語

私は通常の CKA / CKAD で受験したため試験官との応対は英語で行いました。
日本語話者の試験官を希望する場合は、CKA / CKAD ではなく CKA-JP / CKAD-JP に申し込む必要があるようです。

CKA / CKAD で受験した場合でも、試験問題は日本語を選択可能です。
したがって英語を使う必要があるのは試験前の環境確認や注意事項の案内など簡単なやりとりに限られますが、不安があれば CKA-JP / CKAD-JP での申し込みを検討されても良いかもしれません。

試験内容のアップデート

Kubernetes のリリースに合わせて、試験は四半期ごとに更新される計画となっています。
最新の試験環境バージョンは各試験のFAQのリンクから確認できます。

https://training.linuxfoundation.org/wp-content/uploads/2020/02/CKA-CKAD-FAQ-02.2020.pdf

私が受験した際はちょうど更新がかかったばかりのところで、CKA / CKAD どちらも試験環境の Kubernetes は最新の v1.17 となっていました。
当然ですが、試験問題も Kubernetes のバージョンに合わせてアップデートされていました。

再試験ポリシー

試験に落ちた場合、1 回まで再受験が可能となっているようです。
そのため、ある程度準備ができたところで試験内容のレベル感を把握するために一度受験してみる、といったアプローチも良いかと思います。
私は CKA / CKAD いずれも 1 回目の受験で合格したため利用することはありませんでした。

おすすめの学習リソース

Kubernetes 完全ガイド

book.impress.co.jp

言わずとしれた Kubernetes 関連の代表的な参考書です。
Kubernetes v1.11 をベースに書かれており、最新の Kubernetes のバージョン(v1.17)とは少し離れてきていますが、今でも Kubernetes の全体像や各リソースの基礎を抑えるには最適な一冊です。

Kubernetes The Hard Way

github.com

現在は kubeadm や kubespray といったクラスタ構築をサポートするソフトウェアがありますが、こちらのチュートリアルではそういったサポートなしに Kubernetes クラスタを構築する流れを学ぶことができます。
CKAD だけの受験を考えている方は必要ありませんが、CKA を受験する方は何周か実施して流れを掴んでおくと良いでしょう。

CKAD Exercises

github.com

有志の方が公開している CKAD 向けの問題集です。
CKA でも同じような知識は求められるため、CKA のみの受験を考えている方にもおすすめの学習リソースです。

ckad-prep-notes

github.com

問題集やチュートリアルではないのですが、CKADの受験にあたって注意すべき事項と必要な基礎知識がまとめられていますので、一読しておくことをおすすめします。

その他の学習リソース

kodekloud.com

コミュニティでこちらのチュートリアルも試験対策に好評と聞き、数問だけ手を付けてみました。
が、私が利用した際はバーチャルコンソールの反応が遅く、結局はほとんど利用しませんでした。
問題の内容は良さそうでしたので、レスポンスが問題なければこちらも活用できるのではと思います。

学習の流れ

試験準備として Kubernetes The Hard Way を1周、CKAD-exercises を 2 周実施し、ckad-prep-notes と 公式の受験要項をひととおり読みました。
試験とは無関係に以前から Kubernetes The Hard Way は何度か通したことがあったため、今回の受験準備としては流れを確認する程度にとどめています。
Kubernetes 完全ガイド』も既に何度か読み直していましたので今回の受験向けには改めて通し読みはしていませんが、必要に応じてかいつまんで読むようなかたちで復習に活用しました。

(おまけ)Kubernetes ポケットリファレンス

gihyo.jp

昨年出版されたこちらの書籍の制作に参加しておりまして、おまけの参考書籍としてご紹介させて頂きます。
書名のとおりコマンドリファレンスにフォーカスした書籍となっており、各コマンドでよくあるトラブルなどにも触れていますので、kubectl に習熟する過程でお役に立つのではと思います。
制作にあたっては Kubernetes v1.16 をベースに各コマンドの実行確認やドキュメントチェックなどを繰り返していましたので、私の場合はこの書籍の制作過程でも Kubernetes に対するスキルアップが図れました。

受験準備

受験場所

試験はオンラインで実施されるため、受験場所は受験者自身があらかじめ確保しておく必要があります。
私の場合はコワーキングスペースで提供されている1名用個室を予約して受験しました。
受験前には試験官との受験環境確認があり、受験後にはアンケート回答があるため、試験の予定時間+前後30分を目安に場所を確保しておくと良いと思います。

受験するときのテーブル上には、許可されたもの(ディスプレイ、キーボード、マウスetc.)以外は一切置くことができません。
私の場合はレンタルした個室のテーブルにシェードランプが置かれており、受験前の環境確認の際に取り外すよう試験官から指示を受けました。
幸い取り外し可能な備品でしたので対応できましたが、レンタルしたスペースに備え付けの備品があるような場合は注意が必要かと思います。

Kubernetes.io の活用

試験中には公式ドキュメントを参照することができますが、試験時間を考えるとその場で新しい知識を仕入れている余裕はないと思います。
私の場合はよく参照するいくつかのページはすぐにアクセスできるよう、ブラウザのブックマークに登録しておくようにしました。

受験時の所感

試験の難易度

個々の問題の難易度としては、管理者向けを想定している CKA のほうがより高度な知識を求められたと思います。
一方、CKAD のほうが 1 問あたりに使える時間が少ないため、こちらはスピーディに問題を解いてゆかなければならないところに難しさがありました。
問題ごとに配点の目安となるパーセンテージが明記されていますので、これを参考に回答順序を考えても良いでしょう。

バーチャルコンソールの操作性

試験時に利用するバーチャルコンソールはレスポンスよく利用でき、特に不自由は感じませんでした。
コピーは Ctrl+Insert、ペーストは Shift+Insert で行えます(Windowsの場合)。
tmux も使えるようですが私は利用しませんでした。

ブラウザの制限

ブラウザのタブは、試験問題+バーチャルコンソールのタブがひとつと、これに加えて Kubernetes.io の公式ドキュメントを参照するためのタブをひとつのみ開くことができます。
公式の受験要項にも記載されていますが、Kubernetes.io の公式ドキュメント以外の Web ページにアクセスしないことや、ドキュメント参照のために複数のタブを開かないことは受験者自身の努力で遵守する必要があります。
特に試験で利用する端末にアクセス制限や開くタブ数の制限が設定されるわけではないため、ブックマークなどを利用する際はうっかり許可されていないページにアクセスしないよう注意が必要です。

おわりに

普段 Kubernetes での開発や運用を経験している方であれば、基本を押さえておけば問題の難易度はそれほど高くないと思います。
CKA / CKAD はすべての問題をコマンドラインから回答する形式となっているため、kubectl や Linux の基本的なコマンドはとにかく手を動かして慣れておくことが重要です。
加えて、よく参照するドキュメントにすぐにアクセスできるような準備や、配点に応じた時間配分を意識しておくと良いかと思います。