CKA資格試験について
CKA資格試験は、kubernetesを管理者の観点からクラスター設定やデプロイの実行と運用するためのスキルに加え、知識と問題解決に対し適切な判断が求められる試験になります。
理由としては、AWSやGoogle Cloudの資格試験のような問題から必要な解答を選択する方式ではなく、提示された問題の内容を把握し、試験環境のコマンドラインに解答の入力を行う試験形態であるからになります。
その上で資格取得のメリットや学習過程と学習時間に加え、CKA試験の合格率をあげるために行うテクニカルな内容についてお話させていただきます。
尚、本ブログには試験に出題される問題や解答についての記載はございませんので、予めご了承ください。
※別の記事にて試験受講にあたっての準備や資格の概要についてはこちらに記載しております。
CKA資格を取得および学習することによるメリット
前項でも説明しましたがkubernetesの資格試験は、問題を解く手段として実環境にコマンドラインを入力して解答を行う試験形態になります。
そのため、kubernetesの知識だけでは99%試験に合格することができません。合格には知識があることを前提とし、コマンドライン操作を行う技術に加え、問題へ解答するための適切な判断が求められます。これらの学習過程を得ることで、kubernetesを管理者として操作する技術と適切な判断、管理する上での知識を習得することができます。
学習過程と学習時間
学習過程
CKA資格試験を合格する過程としては、ITの基本知識、Linuxサーバーにおける基本概念、コマンド操作、ネットワーク知識などを習得した後でコンテナの概念と操作についての学習過程を得てから、Kubernetesを学習する入口に到達します。
そこからkubernetesの基本概念の学習、コマンド操作、Yamlファイルの編集方法、リソースの反映方法の習得を行い、試験範囲を学習するといった流れになります。このような過程を得て学習を行うことでCKA試験の合格だけではなくkubernetesを深く体系的に理解することにもつながります。
学習時間
学習時間は、Linuxやコンテナの知識がある方は1ヶ月から1.5ヶ月
Linuxとコンテナを1から学習する必要がある方は2ヶ月~3ヶ月くらいを想定すればよいと思います。
効率的な学習教材およびサービスの案内
まず、前提としてkubernetesを学習するにはLinuxとコンテナの知識は必須になります。その上でCKA試験に合格するために必要な基本知識を習得するため、効果的な教材をご案内させていただきます。
これらの教材はLinuxとコンテナの知識があった上で利用するとより効果的になります。
CKA with Practice Tests(Udemy & KodeKloud)
UdemyとKodeKloudで購入可能な教材になり、様々なブログ記事でも記載されている教材になります。kubernetesの知識習得およびハンズオンを並行して行うことができ、kubernetesを基本から効率的に学習できるため、個人で学習するものとしてはかなり質の高い教材になります。実際に弊社の社員で個人学習をされている方は、この教材を利用してkubernetesの学習を行っています。
この教材を使用する上での概要や費用については以下に詳細を記載します。
- kubernetesをコマンドラインを通じて操作できる実環境が提供されていること
どちらの(Udemy&KodeKloud)教材も他のkubernetes教材と比べて優れている個所はハンズオン環境が教材とともに用意されていることになります。そのため実環境を構築しなくともkubernetesを知識と操作を体系的に学ぶことが可能です。 - 費用について
■Udemy
Udemyでkubernetesの教材を購入する際の注意点は、定価が割高であることです。そのため割引(90%以上もあり)の時期を狙って購入することをお勧めします。その上でUdemyのみの購入ではkubernetesのハンズオン環境は触ることはできません。実際にハンズオン環境を使用するためには別途費用かかります。
このハンズオン環境は買い切りの商材になるのでサービスが継続している限りいつでも使用することができます。ただし、ハンズオン環境の購入費用には、私が知る限り割引がありませんのでその点はご認識いただければと思います。
■KodeKloud
こちらはサブスクリプションライセンスにて、月額と年額の購入ができるkubernetesの教材になります。短期間でハンズオン環境のみを使用したいという方は、こちらのコースを購入するのもおすすめです。費用も割引の時を狙えば割安で購入することができ、使用するにあたってはStandardコースで問題ないかと思いますが、解約には十分注意してください。
また、費用はドル換算での購入になり、円安の際に費用が割高になるのでその点はご認識ください。
Udemy :Certified Kubernetes Administrator (CKA) with Practice Tests
KodeKloud: CKA Certification Course – Certified Kubernetes Administrator
上記2つの購入には、UdemyとKodeKloud、双方のアカウント作成が必要になります。
シャインソフトのkubernetes教育サービスメニュー
弊社シャインソフトもkubernetesの教育サービスを提供しております。
kubernetesを1から体系的にきちんと学びたい方は「kubernetes基礎・入門編教育サービス」の受講。
CKA試験に合格するため、効率的な方法で学習したい方は「CKA資格試験講習」の受講をオススメします。
このように弊社の教育サービスは受ける方の状況によって選択することが可能です。
詳細は以下になります。
- kubernetes基礎・入門編教育サービス
弊社が提供するkubernetesの教育サービスになり、基礎編にてkubernetesを座学で学び、入門編でkubernetesの各種コンポーネントや基本リソースをこちらが提供するハンズオン環境にて座学とハンズオンを含めた講習を学んでいただきます。
- CKA資格試験講習
こちらも弊社が提供するCKAの試験範囲を元に座学とハンズオンから構成される教育サービスになります。あと、試験合格するためのテクニカルな情報を交えながらの講習になります。
費用や日数についてはこちらからご確認ください。
試験の難易度
ここまでは学習教材を元にkubernetesの基本的に学ぶ方法をご案内させていただきました。その上で試験に出題される難易度を弊社社員が受講を行い、確認した所感からお話をさせていただければと思います。
1.Udemy&KodeKloudにおける想定試験問題について
Udemy(またはKodeKloud)におけるハンズオン環境の最後にEXAM(想定試験問題)があるのですが、その難易度や出題問題を参考や鵜吞みにしてCKAの試験を受講してしまうと2~3割程度の解答しかできない可能性が高いです。
2.KillerShellについて
「KillerShell」はCKA試験の申し込みをした際に、36時間限定で2回利用できる、仮想CKA試験になります。試験環境はかなり実環境に近いものになっております。こちらの環境における特徴はUdemyやKodeKloudのMock Examと比べて問題の難易度が高すぎる点にあり、出題される問題はCKA試験を合格に近づける上では参考にはならないので、その点はご注意ください。
3.CKA試験における難易度の把握
CKA試験の難易度を把握するにはまず、UdemyやKodeKloudのMock ExamとKillerShellで出題される仮想問題の把握が必要となります。
その上で提示されている試験範囲をkubernetesのドキュメントサイトにて確認を行い、把握した難易度を元に想定されれる必要な知識を習得、Yamlファイルの作成やリソースのコマンド操作などの学習を進めていきます。
こうした過程を得ることで合格だけではなく、kubernetesを深く理解することにもつながります。仮にUdemyやKodeKloudのみの学習で提供されている想定問題の難易度を鵜吞みにしてしまうと、合格することがかなり厳しくなります。
試験に合格するための全体的な流れ
CKA試験は1回の申し込みで2回受講することができるため、2回目の試験を受講した後で合格するという過程を想定すればCKA試験に合格する確率は高くなります。
その踏むべき過程として、1回目の試験で問題の内容と難易度を把握、次回の試験までに自身の認識と難易度に乖離があるようであれば、その乖離を埋めて、2回目の試験ではその乖離を埋めた状態で試験を受講することがCKA試験を合格するための一番の近道になると思われます。
上記の図のように、2回目の試験で合格するために1回目とその間をどのように過程を得るかによって2回目で試験を合格する確率は高くなります。
また、1回目の試験で合格点に到達することが難しいと判断すれば、解けなかった問題に対してのアプローチが重要になってきますので、その時間に費やすことも2回の試験で合格する秘訣になります。
CKA試験の時間について
CKAの試験時間は2時間になります。こちらは事前の準備にかかる時間は含まれません。
今まで弊社社員20名ほどがCKAを受験しましたが、その際に一様に口をそろえて言っていたことは2時間という試験時間では「時間が足りない」ということでした。
ここではなぜ時間がたりなくなるかということについてお話をさせていただきます。
時間が足りなくなる要因
ドキュメントの検索
まず、試験において時間が足りなくなる要因はドキュメントの検索を行うことが時間がかかる要因になっております。
これは普段kubernetesを学習するにあたり、ドキュメントサイトから不明な個所を確認するのではなく、様々なサイトなどから情報を仕入れたりすることを主として行っている方は、CKA試験になった際にkubernetesのドキュメントサイト以外のアクセスができないため、その手の情報がどこにあるかが不明になり、検索を行うのに時間がかかり、その結果試験時間が足りなくなる要因となっております。
Yamlファイルの作成と編集
kubernetesでリソースをデプロイする際はkubernetesのドキュメントサイトからYamlファイルのテンプレートの構文をコピー&ペーストして、vimでYamlファイルの編集を行い、作成したYamlファイルを「create」や「apply」することが一般的な方法になります。
出題される問題によっては、この方法でしか問題を解くことができないものもありますが、すべての問題をこの解答方法で行ってしまうと2時間では合格点まで到達するのはかなり難しくなってしまいます。
問題に対する時間配分
これは一般的な試験を受講する際にも言われていることになりますが、人によって得意とされる問題とそうでない問題には差があります。
時間が足りなくなる要因としては苦手な問題が出題され、その問題における点数の割合が高くなってしまいますとそこに時間の割いてしまい最終的に時間が足りなくなるということになるケースも往々にしてあります。
効率的な試験の解答方法
ドキュメントサイトの把握
CKA試験では試験受講の最中にドキュメントサイトの閲覧が可能となっております。kubernetesの学習を行う際に不明点やYamlファイルなどの転記、リソースの検索などを行う際にドキュメントサイトにて検索を行う癖をつけておくと、問題を解く際に必要な情報を素早く取得することが可能となります。
コマンドからのYamlファイル作成とリソースの反映
実運用の観点からは外れる可能性が高いですが、コマンドラインを使用してYamlファイルの作成を行ったり、PodやDeploymentなどのリソースを反映させることが可能となります。
コマンドラインからのYamlファイルの作成方法やリソースへの反映方法を身に着けるとドキュメントサイトを検索する時間やYamlファイルからリソースを反映させる時間が削減できるので、その時間を難易度の高い問題に時間をかけたり、見直しに充てることができるため、合格できる確率があがることにもつながります。
# Podの作成コマンド(名前がcka-podでNGINXコンテナのPod)
kubectl run --image=nginx cka-pod
# Yamlファイル出力コマンド(名前がcka-podでNGINXコンテナのPodのYamlファイル出力)
kubectl run --image=nginx cka-pod --dry-run=client -o yaml > cke-pod.yaml
# 参考 Deploymentの作成コマンド(名前がcka-deployでレプリカ数が3つのNGINXコンテナの作成)
kubectl create deployment --image=nginx cka-deploy --replicas=3
コマンド入力によってできることは「コンテキストの設定」「Objectの作成」「各種リソースへの操作」などの実行が可能です。
その内容はkubernetesのチートシートに記載されているので、kubernetesの学習を行う際には是非とも利用をしてください。
Tabによるコマンド補完とエイリアスの設定
CKA試験の最中にコマンド入力を一からすべて入力してしまうと1問当たりにかける時間がかかりすべての問題を解答することが困難になります。
「kubectl」には元々「bash」と「zsh」向けにシェルの補完機能が実装されております。試験を開始する前にこの補完機能を設定することでコマンド入力の際、Tabキーでの省略が可能となるため、試験時間の短縮につながります。
# 現在のbashシェルにコマンド補完を設定するには、最初にbash-completionパッケージをインストールする必要があります。
source <(kubectl completion bash)
# bashシェルでのコマンド補完を永続化するために.bashrcに追記します。
echo "source <(kubectl completion bash)" >> ~/.bashrc
また、エイリアス設定を行い「kubectl」を「k」1文字に短縮することも可能です。
alias k=kubectl
complete -F __start_kubectl k
コマンド補完とエイリアス設定はkubernetesのドキュメントサイトにも記載がありますので、こちらへアクセスするための経緯を把握しておき、試験開始直後に設定を行ってください。これは余裕をもって試験を受験するためには必要なことになります。
次回試験への問題把握
試験全体を見直したときに、試験が1回目であれば再度CKA試験を無料で受講することが可能になります。そのため解けない問題を把握しておき、次回につながるような時間配分を行うことも試験を合格する上では必要なことになります。
まとめ
今回はCKA試験を受講するにあたって、合格するために学習を行う試験範囲などの説明ではなく、学習の過程や習得の時間に加えて、利用する学習教材や試験の難易度、CKA試験を合格する上で時間短縮を行う上でのテクニックなどについてお話をさせていただきました。
より短い時間でkubernetesを学習したい、CKA試験を合格したいと思った方は弊社のkubernetes教育サービスである「kubernetes基礎・入門編」と「CKA資格試験講習」の受講をご検討ください。