Kubernetes 技術者認定 CKA/CKAD を取得したので振り返る

2022 年 6 月に行われた受験方式の変更について

僕が受験した後に、受験方式が大幅に変更されたためこちらの記事を見てくださった方のために誤解のないように追記する。 具体的には Chrome ブラウザで受験ができていたものが、独自ブラウザをインストールする必要があったり主に環境面での変更が行われた。

Update on Certification Exam Proctoring Migration
On June 25, 2022, The Linux Foundation migrated the CKA, CKAD and CKS programs from PSI’s ExamsLocal proctoring platform to PSI Bridge, as candidates were notified about beginning last year,...
Update on Certification Exam Proctoring Migration favicon training.linuxfoundation.org
Update on Certification Exam Proctoring Migration

詳しくは、上記リンク先を参照しつつ新方式に向けた準備をしてもらえればと思う。本記事で書いていたが、新方式で意味をなさなくなったものについてはその旨を記載しておく。

はじめに

2022 年 2 月に Certified Kubernetes Administrator(以下 CKA)、同年 4 月に Certified Kubernetes Application Developer(以下 CKAD)に合格した。おそらく 3 年後もエンジニアとして働いていたら受験する可能性が高いので自分のためにも残しておく。

受験した感想としては、Kubernetes 初学者である自分にとって学習体験が良く、非常に楽しみながら学習できた。

CKA/CKAD のそれぞれの位置づけ

2022 年 4 月現在では、試験の出題範囲とそれぞれ配分については下記のようになっている。

CKA

  • ストレージ: 10%
  • トラブルシューティング: 30%
  • ワークロードとスケジューリング: 15%
  • クラスタのアーキテクチャ、インストール、構成: 25%
  • サービスとネットワーキング: 20%

CKAD

  • アプリケーションの設計と構築: 20%
  • アプリケーションの展開: 20%
  • アプリケーションの可観測性とメンテナンス: 15%
  • アプリケーション環境、構成、およびセキュリティ: 25%
  • サービスとネットワーキング: 25%

受験したイメージだが、こちらの Qiita 記事1と同じ印象を受けた。CKAD よりも CKA の方が試験範囲は広いものの、どちらも同じくらいの難易度だと感じた。

受験した順番も CKA -> CKAD の順に受けた(両方受けるなら個人的にはこの順番がおすすめ)ので、CKAD を受ける際にはある程度 CKA で得た知識を活用できたということも大きい。

学習に利用したもの

Udemy

基本的には以下の Udemy 講座をベースに対策した。他にも合格体験記事を調べるとだいたいの方がこちらを購入されているようだった。内容としては Lab 環境を利用したハンズオン形式かつ最後には本番を想定した Mock Exam がいくつか用意されている。これをやり込めば知識として基本的なことは習得できるので、個人的には現段階で最も優秀な教材だと思う。

Certified Kubernetes Administrator (CKA) with Practice Tests
<p><strong>CKA Certification Course – Certified Kubernetes Administrator</strong></p><p>Kubernetes is one of the highest trending technology in Cloud Computing as of today. Kubernetes had the fastest growth in job searches, over 173% from a year before, as reported recently by a survey conducted by Indeed.</p><p>With our course from KodeKloud, you will be able to learn, practice, and get certified on Kubernetes with hands-on labs right in your browser, with no extra hassle.</p><p><br /></p><p><strong>Why You Should Learn Kubernetes</strong></p><p>Having a CKA Certification is essential for any DevOps professional, and DevOps engineers are always in demand. Currently, the average Silicon Valley salary for a DevOps engineer is 20% higher than what a software engineer makes. DevOps engineers make an average of $140,000 to $200,000 annually. And one of the most in-demand skills is Kubernetes Administration.</p><p><br /></p><p><strong>What Is Kubernetes?</strong></p><p>Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation.</p><p>This Kubernetes certification course helps you gain the knowledge required to design and deploy cloud-native applications on a Kubernetes cluster. A series of well-designed lectures with animation and illustrations help you understand complex concepts easily.</p><p><br /></p><p><strong>Practice Kubernetes With Our CKA Certification Course</strong></p><p><br /></p><p>Lectures alone won’t help you clear the CKA certification course. The Kubernetes Certification is a practical hands-on exam that provides you with the necessary experience to properly learn Kubernetes. Our coding quizzes can be accessed right in your browser without having to set up any lab environment yourself. We validate your work and give you feedback instantly. You can even preview a few lab exercises for Free!!</p><p>After you have completed the lectures and coding exercises, you will have the opportunity to complete a series of assignments that put your new skills to the test. You will be given a challenge to solve using the Kubernetes skills you have learned.</p><p>This will give you real-world experience and the chance to work with other students in the community. You will develop a Kubernetes deployment and get feedback to your work.</p><p><br /></p><p><strong>Join our Community!</strong></p><p>Once you enroll in the CKA certification course, you will get access to our community of teachers and learners on Slack where we discuss important topics, tips, and tricks to pass the exam. This is a great place for you to clear your doubts and get answers to your questions instantly.</p><p><br /></p><p><strong>Sign Up For Our CKA Certification Course Today!</strong></p><p>This course is the best way to get Certified in Kubernetes (CKA) for an Absolute Beginner.</p><p>Don’t waste any more time wondering what course is best for you. You’ve already found it. Get started right away!</p><p>Legal Notice:</p><p><em>Kubernetes and the Kubernetes logo are trademarks or registered trademarks of The Linux Foundation. in the United States and/or other countries. The Linux Foundation and other parties may also have trademark rights in other terms used herein. This course is not certified, accredited, affiliated with, nor endorsed by Kubernetes or The Linux Foundation.</em></p><p><br /></p><p><strong>Course Update History</strong></p><ul><li><p>May 26, 2025 – Lab environment upgrade to 1.33v (in progress)</p></li><li><p>Feb 26, 2025 - Lab environment upgrade to 1.32v</p></li><li><p>Jan 27, 2025 - Two new sections (Helm Basics and Kustomize Basics) added</p></li><li><p>Oct 29, 2024 - Lab environment upgrade to 1.31v</p></li><li><p>July 15, 2024 - Lab environment upgrade to 1.30v</p></li><li><p>Feb 17, 2024 – Lab environment upgrade to 1.29v</p></li><li><p>June 15, 2023 – Lab environment upgrade to 1.27v</p></li><li><p>Feb 2, 2023 – Lab environment upgrade to 1.26v</p></li><li><p>Oct 10, 2022 – Lab environment upgrade to 1.24v</p></li><li><p>Sept 2, 2022 – New lab on etcd added</p></li><li><p>May 15, 2022 – Mock Exam solution videos updated</p></li><li><p>May 1, 2022 – Lab environment upgrade to 1.23v</p></li><li><p>Oct 20, 2021 – Lab environment upgrade to 1.22v</p></li><li><p>May 10, 2021 – Lab environment upgrade to 1.20v</p></li><li><p>Aug 24, 2020 – New updates. Lab environment upgrades to v1.19New lectures Storage Section, Troubleshooting Section, kubectl apply, and Solution videos along with labs were added. Updated Kubernetes Imperative Commands Lab.</p></li><li><p>Jun 16, 2020 – Lab environment upgrade to v1.18</p></li><li><p>Dec 3, 2019 – New labs added</p></li><li><p>Jul 5, 2019 – New Mock Exam to the Kubernetes Certification Courses added</p></li><li><p>Jun 7, 2019 – New lectures on Practice Imperative Commands, Multi Container PODs, and Init Containers, along with labs, were added</p></li><li><p>May 21, 2019 – Lab Updates and fixes</p><p><br /></p></li></ul><p><strong>Prerequisites for this course</strong></p><p>Students should have a foundational understanding of Docker, basic knowledge of Linux, and familiarity with the YAML language.</p>
Certified Kubernetes Administrator (CKA) with Practice Tests favicon www.udemy.com
Certified Kubernetes Administrator (CKA) with Practice Tests
Kubernetes Certified Application Developer (CKAD) Training
Learn concepts and practice for the Kubernetes Certification with hands-on labs right in your browser - DevOps - CKAD
Kubernetes Certified Application Developer (CKAD) Training favicon www.udemy.com
Kubernetes Certified Application Developer (CKAD) Training

書籍「Kubernetes 完全ガイド 第2版」

言わずと知れた k8s の完全ガイド。分厚く解説も丁寧なので全部を読むというよりは辞書的に知りたいことについて読み込むようにして利用した。

Kubernetes完全ガイド 第2版
Kubernetes解説書の決定版がついに改訂! Kubernetesはコンテナ化されたアプリケーションのデプロイ、スケーリングなどの管理を自動化する「コンテナオーケストレーションエンジン」です。「クラウドネイティブ」を実現するためのコア技術として、現在多くのシステムでの利用が進んでいます。本書では、アプリケーション開発者やインフラエンジニアを対象に、Kubernetesの機能やそのエコシステムについて網羅的に解説します。好評をいただいた前版を全面的に見直し、バージョン1.18に対応しました(アルファ機能を含む)。前版以降に追加された機能や変更点にも言及し、最新のKubernetesを活用するための多くの知見を提供します。これまでKubernetesを触ったことがない方でもそのコンセプトを理解し、実際にアプリケーションをコンテナ化して実行できるようになることを目標としています。また、Kubernetesの認定資格であるCKA(Certified Kubernetes Administrator)およびCKAD(Certified Kubernetes Application Developer)取得のための副読本として、学習に役立つ様々な知識を得ることも可能です。新版は、285枚の図、312個のサンプルマニフェスト、257個のよくある質問とその回答により、より分かりやすいものとなっています。Kubernetesを使ったプロダクションレベルでの活用を目指す人のための、価値ある一冊です。
Kubernetes完全ガイド 第2版 favicon amazon.co.jp
Kubernetes完全ガイド 第2版

Killer.sh

Linux Foundation で試験バウチャーを購入すると、Killer.sh というサイトの試験シュミレータを無料で利用できる。1 回 36 時間のクラスタを 2 回利用できるので、Udemy 講座で学んだ後、試験直前に取り組むのがいいと思う。また、こちらのシュミレータの問題は難しめに設計してあるので、この問題に慣れておけば本番でもだいぶ適応できると思う。

Killer Shell - Exam Simulators
Linux Foundation CKS CKA CKAD LFCS Kubernetes Linux Exam Simulators / Example Questions / Practice Exam
Killer Shell - Exam Simulators favicon killer.sh
Killer Shell - Exam Simulators

受験に際しての Tips

Chrome Profile の作成

❗ 2022 年 6 月の試験方式変更に伴い、独自ツールをインストールの上受験することになったため不要。

試験はブラウザで受験する訳だが、普段使用している Chrome Profile だと拡張機能だったりブックマークだったり試験では不要なものが多いため試験のためだけの Profile を用意した。

Chrome ブックマークの作成

❗ 2022 年 6 月の試験方式変更に伴い、独自ツールをインストールの上受験することになったため不要。

Profile に次いで、ブックマークも準備した。以下の URL は試験時も閲覧可能だが、いちいち検索する時間ももったいないので Chrome のブックマークを強化しておくのが良いだろう。

https://kubernetes.io/docs/ https://github.com/kubernetes/ https://kubernetes.io/blog/

ブックマークをいちから作るのは流石に骨が折れるので、僕は下記をインポートして活用した。Mock Exam などに取り組む過程で必要そうなページは都度追加して自分なりのブックマークを準備した。

kubernetes/Kubernetes-Chrome-Bookmarks.html at main · sidd-harth/kubernetes
Exploring Kubernetes Beyond the Certification Topics - sidd-harth/kubernetes
kubernetes/Kubernetes-Chrome-Bookmarks.html at main · sidd-harth/kubernetes favicon github.com
kubernetes/Kubernetes-Chrome-Bookmarks.html at main · sidd-harth/kubernetes

エイリアス設定

kubectl コマンドを何度も叩くことになるので、エイリアスを設定しておくのがおすすめ。クラスタによってはデフォルトで設定されていることもあるが、気づけばもはや手癖で設定するレベルになっていた笑

$ alias k=kubectl
 
$ k version --short
Client Version: v1.22.1
Server Version: v1.22.1
 
$ export do="--dry-run=client -o yaml"
 
$ k run pod1 --image=nginx $do

kubectl でリソースのドキュメントを確認

explain サブコマンドが便利。YAML の書き方がわからなくなった場合、ドキュメントを調べるよりもこちらのほうが早い時も多々ある。

$ k explain pod
 
# --recursive オプションを付けるとネストしたオブジェクトも全て参照できる
$ k explain --recursive pod
 
# "." で繋げることでオブジェクトのフィールドを指定できる
$ k explain pod.spec
 
# 僕はよく less に流し込んで使っていた
$ k explain --recursive pod | less

リソースのショートネームを使う

k8s のリソースには、Pod だと po、ConfigMap だと cm、PersistentVolumeClaim だと pvc のようにショートネームが定義されている。コマンドで使用する場合はショートネームを使うと時間を短縮できる。

# api-resources サブコマンドを使うとどういうショートネームが定義されているか確認できる
$ k api-resources | head -n 10
NAME                              SHORTNAMES   APIVERSION                             NAMESPACED   KIND
bindings                                       v1                                     true         Binding
componentstatuses                 cs           v1                                     false        ComponentStatus
configmaps                        cm           v1                                     true         ConfigMap
endpoints                         ep           v1                                     true         Endpoints
events                            ev           v1                                     true         Event
limitranges                       limits       v1                                     true         LimitRange
namespaces                        ns           v1                                     false        Namespace
nodes                             no           v1                                     false        Node
persistentvolumeclaims            pvc          v1                                     true         PersistentVolumeClaim

できるだけ kubectl コマンドワンライナーでリソースを作成、変更する

# シングルコンテナな Pod を作る
$ k run pod1 --image=nginx:alpine
 
# nginx Deployment の nginx コンテナのイメージを変更
$ k set image deployment/nginx nginx=nginx:1.9.1

その他にも secret, configmap は create サブコマンドで、service だと expose サブコマンドで作成できる場合もよくある。リソースを作成する場合は、このコマンドで作れるなとパッと思い浮かぶようになっておけば良いだろう。

試験時の環境と注意点

デスク周り

本番の試験については自宅で受験した。環境としては利用できるものは利用し、いつもの作業環境に近い環境で臨んだ。

  • MacBook Pro 13-inch
  • 外部ディスプレイ 1 枚
  • 外付けキーボード
  • Magic Trackpad
  • 外付け Web カメラ

困ったこととしては、外付けの Web カメラを Mac に接続していたのに Mac の方のカメラが優先され上手く認識されなかった。仕方なく Mac を持ち上げてあたりを映して乗り切ったが、これはどうにか解決したい…。

ID

身分証明には下記で問題なかった。

  • 運転免許証
  • クレジットカード

事前に確認しておくべきもの

Candidate Requirements | T&C DOCS (Candidate Facing Resources)
Candidate Requirements | T&C DOCS (Candidate Facing Resources) favicon docs.linuxfoundation.org
Candidate Requirements | T&C DOCS (Candidate Facing Resources)
Kubernetes Certification Exam Environment Preview
This short video shows an example of the exam environment those sitting for a Kubernetes certification exam can expect to encounter. This particular example ...
Kubernetes Certification Exam Environment Preview favicon www.youtube.com
Kubernetes Certification Exam Environment Preview

まとめ

今回は Certified Kubernetes Administrator(CKA)、Certified Kubernetes Application Developer(CKAD)の受験について振り返ってみた。学習する過程で手を動かしながら楽しんで学ぶことができた。結果として、Kubernetes についての知識を確認もできたので良かったと思う。次回は年内を目処に CKS にも挑戦してみたい。

Footnotes

  1. Kubernetes 認定資格 CKA/CKAD 受験の Tips - Qiita にある試験範囲のイメージ図が分かりやすかった。

関連記事