Certified Kubernetes Application Developer (CKAD)とEX288の違い
CKADを昨日受験し、本日合格の連絡がありました。CKADの試験範囲はCKAと重複している部分が多いので、2/15にCKAに合格した後、あまり間をあけずにCKADを受験しました。
レッドハットには、OpenShift アプリケーション開発者試験 (EX288)という試験があります。CKADもEX288もアプリケーションをKubernetesにデプロイするということでは一緒です。
ただし、EX288の方は、Kubernetesのコアな機能に加えて、OpenShift固有の製品機能 (S2I、Template、Pipeline) もスコープに含んでいます。OpenShift Webコンソールを使えるというのも環境上の大きな違いです。
この記事では、EX288を受験した方が、CKADを受験するときの注意事項を書きたいと思います(需要はないとは思いますが)。
CKAD-JPではなくCKADを購入したので、プロクターとのチャットは英語でした。問題も英語で受験しました(問題は日本語に切り替え可能です)。
試験準備
試験範囲で共通する部分
CKADの試験は、ざっくり言うと、Pod/Deployment/Service/Ingressを使ったアプリケーションのデプロイとトラブルシュートが中心です。DeploymentからSecretやConfigMap、PersistentVolumeを利用するような問題が多いです。このあたりはCKADとEX288を比較したときの共通の範囲かなと思います(IngressはOCPではRouteになりますが)。
CKADの試験範囲は以下で確認できます。
EX288の試験範囲は以下になります。
試験範囲で異なる部分
Kubernetesのコア機能であっても、EX288の範囲に含まれないものもありますので、CKADの受験を検討されている方は事前の準備が必要です。
Job/CronJob
NetworkPolicy
ResourceQuota/LimitRange
SecurityContext
レッドハットの認定試験では、Job/CronJob、NetworkPolicy、ResourceQuota/LimitRangeは、EX280という管理者試験の範疇になりますのでkubernetes.ioのドキュメントで学習しておいてください。RHLSのユーザーの方はDO180/DO280の説明を見ておくとよいと思います。
SecurityContextは、OpenShiftのコースや試験では強調されていませんのでこれも受験前の準備が必要です。OpenShiftのアプリケーションセキュリティの制御では、代わりに、SCC (Security Context Constraints) を使っているからです。
利用できるツールの違い
CKADではOpenShift Webコンソールのような便利なものは提供されていないので、2時間という試験時間の間に、ずっとkubectlコマンドとvimでのYAML編集をやっていく感じです。コマンド操作は繰り返しよく練習しておいた方がよいです。とくに、oc projectのように簡単にnamespaceを切り替えることができないので、そのあたりの練習も重要です。
受験環境
今回はCKAに続いて2度目の試験だったので、試験30分前になったらPSIセキュアブラウザーをダウンロードして順調に環境にログインできました。ただ、今回もプロクターからいろいろと指摘があって、それに対応するために結局30分くらい使ったと思います。
今回もいろいろと指摘された
プロクターからの指摘は、前回の記事に書いたこととだいたい同じです。部屋の中をカメラでスキャンするのも念入りです。ただ、今回は、PCとマウスパッドを持ち上げて下を見せろとか、スマホをもっと遠くに置けとか、足温器を移動しろ、とか前回には言われなかったこともプロクターから指摘されました。こんなやりとりをしていると、あっという間に30分くらい経ってしまいました。
さいごに
当たり前な話なんですが、KubernetesとOpenShiftの認定試験では、CLIコマンドや試験環境の違いがあるので、CKA/CKADの受験前にはkubectlを使った実機の練習をしておいたほうがよいです。kubernets.ioを見ながらvimを使ってYAMLの編集をする練習も欠かせません。
OpenShiftに何年もどっぷりつかっていると、手が勝手にoc get podと叩いてしまう。kubectlを使った練習を何度も繰り返すことでk get podと自然にタイプできるようになるのです😁
それに、OpenShift CLIのocコマンドにはkubectlにはない機能があるので、普段からそれに頼り切っていると足元をすくわれます。kubectlには、oc set probeや、oc set volme、oc extract secretに該当する機能はありません。
今回、CKADの対策として、Windows 11 WSL2上にUbuntuを入れ、その上にdocker、kind、kubectl、helmをインストールし、演習環境を準備しました。練習問題としてはCKAD Exercisesを使いました。この環境構築の手順はメモにまとめる予定です。
