【CKA受験レポート】コンテナ知識0の社会人が2週間でCKA認定合格

Linux
スポンサーリンク

 

先日、Certified Kubernetes Administrator(以下CKA)を受験し、無事合格してきました。

受験を会社から命じられた1月中旬には、まさかのコンテナ経験0、

kubrenetesに至っては「Dockerをあれこれする的な何か」ぐらいの知識しかなかった私ですが、

何とか2週間の勉強で合格することができました。

何の役に立つかは分かりませんが、一応レポートとして残しておきます。

 

スポンサーリンク

自己紹介(スペック)

  • 社会人8年目(2023/4で9年目)
  • システムエンジニア職
  • Linux運用経験あり(主にCentOS)
  • 仮想基盤についての知識は若干あり(VMwareとか。ただし資格とかは別に持ってない)
  • コンテナ知識は0(Dockerというものがあるらしい、と聞いたことのある程度)
  • 英語の能力もほぼ0(6年前に受けたTOEICの点数は295点)

一応、Linuxについての基本的にな知識はあったため、

起動しているプロセスの一覧を取得する、サービスの起動や停止などの基本的な操作は可能でした。

英語はまじでできません。

ログでよく見る「file not found」とか、「permission denied」とか、その辺の意味は分かる程度です。

英会話なんてもっての外。

 

CKA認定試験とは

概要

簡単に言うと、

「あなたはkubernetesの管理者として十分な能力を持っていますよ」

と認定してもらえる試験のことです。

他にも、CKAD(kubernetesを使って開発する人向け)やCKS(セキュリティ特化の資格)などもあるようですが、一番取っかかりやすいのがCKAらしいですね。

kubernetesの概念から、基本的なコマンドの使い方、運用方法やトラブルシューティングまで、

幅広い知識を求められる試験です。

その代わり、1つ1つのセクション知識については深く理解していなくても何とかなる感じです。

広く浅く(と言っても浅すぎてはだめ)な知識を求められる資格ですね(個人的な印象)

 

試験場所

試験の場所はリモートで自宅となります。

え、自宅でできるの?ならカンニングし放題じゃん!」と思う方もいると思いますが、

試験前にWEBカメラによる念入りなデスク回りの確認もありますし、

試験中もWEBカメラをつけっぱなしにして試験官にチェックされているので、

カンニングはまずできないと思ってください。

というか、そんなリスクを冒して受験料約5万円をふいにするのはもったいない

正攻法でいきましょう。

 

問題数と合格基準、試験時間

問題数は試験によってまちまちらしいのですが、

だいたい15問~20問のようです。私の時もだいたいその程度でした。

また、合格点は66点

100点満点なので、約3分の2正答できれば合格できるという感じです。

試験時間は2時間。

回答が早く終われば2時間フルで使わなくても途中で切り上げることは可能ですが、

見直しの時間などを含めると時間はそこまで余らない感じです。

 

認定試験受験方法

私はこちらから申し込みました。

かなり高額な受験料ではありますので、間違えて他の試験を申し込まないように注意です。

また、申し込みが完了すると、自分の名前登録や受験環境のチェック、受験日予約をすることができます。

スケジュール予約などは早めにやっておくと個人的に良いと思います。

というのも、受験日を決めずにダラダラ勉強していると全く身に入ってこないし、

途中で勉強のモチベがなくなって勉強をやめてしまったりするので、、、

勉強をするにあたって、やはりモチベーションとタイムリミットというのは重要ですね。

 

試験内容

上記の申し込みページにも書いてあるのですが、

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

こんな感じです。

とはいえ、これは目安なので、完全にこの割合です!って訳ではなさそうでした。

また、問題はすべて実際の運用方法に基づいたものになっています。

なので、選択式の問題などは一切ありません

全部「~をしたいんだけど、実際にコンソールでコマンドを打って実現してね」という形式です。

知識の暗記だけでは受かることができない形式ですので、勉強する際は実際にコマンドを打てる環境を用意することが重要です。

 

その他

CKA認定試験は1回不合格になっても、もう1回だけ無料でリトライできます

なので、1回目の試験は不合格前提で受験し、受験の流れや実際の問題のレベルを確認してもよいかもしれません。

私は時間がなかったので1回目1発勝負しましたが・・・

 

合格までに行った勉強方法

ヒストリ

1月中旬:会社よりCKA認定資格を取ることを命じられる。3月までに

2月1日:Udemyによる勉強開始

2月8日:Udemy1周目終わり

2月11日:Udemy2周目終わり

2月12日:Udemy3周目実施+Killer Shell 実施

2月13日:受験日

2月14日:合否発表

 

勉強時間

勉強時間ですが、完璧に覚えているわけではないのですが

だいたい60時間~70時間ぐらいだと思います。

平日は仕事もあるので、だいたい3時間ぐらいしか勉強できなかったのですが、

その分休日にがっつり10時間ぐらい勉強してましたね。

 

Certified Kubernetes Administrator (CKA) with Practice Tests

これは、ほかの人の合格レポートなどを見てみると絶対に出てくるのですが、

Udemyの「Certified Kubernetes Administrator (CKA) with Practice Tests

合格したければこれは絶対に購入して受講してください。

定価は27,800円と個人では手が出ない価格ですが、Udemuはしょっちゅうセールをしているので、

そのタイミングを見計らって購入しておいてください。セール中は2000円で購入できます。

上記Udemy講座は、kubernetesの基本的な概要から実際のコマンドまで、

本当にCKA認定試験に必要な知識を過不足なく教えてくれます。

1周およそ40時間ぐらいですが、私はこの講座にオールインしました。

 

このコースの一番いいところは、実際にコマンドを打ったりできる環境を用意してくれること。

先ほども記したのですが、CKA認定試験は暗記でなんとかなる試験ではありません。

実際にコマンドを打って、それが正しいのかを確認して、、と

実用的な操作ができるか否かを確かめられる試験となります。

その知識を付けるためには実際にkubrenetesを触る必要があるのですが、自分で用意するとなるとなかなか高いハードル。

それをKodeKloudというサービスで用意してくれているので、自分で環境を用意せずとも実際にkubernetesを触ることができます。

 

講義の内容は全て英語なのですが、一応日本語字幕をつけることができます。

自動翻訳っぽいのでところどころ怪しい日本語がありますが、その場合はいったん英語字幕に切り替えて、Deeplとかを使って翻訳して理解して、、、ということを繰り返しました。

「英語の講義だからなあ」と避け気味な人がいたらこう言ってあげたい

「TOEIC295点でも理解できる英語だから大丈夫!」と・・

むしろ英語は最後まで理解できなかったし・・・

 

で、Udemyの講座を使った勉強方法ですが、

  • 1周目は普通に動画を見ながら練習問題を解いて最後までやる(40時間ぐらい)
  • 2週目は練習問題だけを実施し、間違えた問題をメモする(10時間ぐらい)
  • 3週目は2週目でわからなかった問題だけを実施する(2時間ぐらい)

こんな感じです。

Udemyの講座、めちゃくちゃボリューミーなので、1周するだけで40時間ぐらいかかってしまいましたが、それだけ丁寧に解説されているので、1周するだけである程度の知識は習得できました。

その後はひたすら練習問題にて手を動かす、という勉強方法ですね。

理解ができていなかった部分だけ後で講座を見直したり、繰り返し問題を解いたり、ということをして、とにかく手を動かすことを重要視した勉強方法を取りました。

結果としては、この勉強方法は自分にとっては正解だったかな、と思います。

 

ちなみに、KodeKloudの練習問題は全て英語なので、Deeplを横に用意しておきましょう。

 

kubernetes.io

Production-Grade Container Orchestration
Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers t...

上記のページをUdemyによる勉強をしている際に絶対に別ダブで開くことを推奨します。

kubernetes公式のドキュメントであり、ここにコマンドからyamlテンプレートの書き方まですべて記載があります。

何よりも試験中もこのページの閲覧は許可されているため、

極論どのページに何が書いてあるかをすべて把握しておけば、コマンドを全く覚えてなくても、yamlテンプレートを全く覚えてなくてもCKA認定に合格することが可能かもしれません。

※実際には時間制限があるので、全部調べていると時間が足りなくなりそうですが・・・

 

Udemyの練習問題で間違えたりわからない問題があれば、まずはこのページで回答を探し、

ページの場所を覚えておくなり、検索ワードをメモしておくなりしておくと、

もし本番でその問題が出てきた場合にすぐにそのページを確認することができるので、

練習問題を解いているときも、分からない場合にすぐに答えを見るのではなく、まずはこちらのドキュメントを調べてみることをオススメします。

 

逆に言うと、あまり使わないコマンドやyamlテンプレートは暗記する必要はありません

試験中にkubernetes.ioからコピペして使えばよいです。

yamlテンプレートを覚えることに勉強時間を割いてしまうと、時間が勿体ない。

その時間を練習問題を解くことに充てたほうがよっぽと有意義です。

 

Killer Shell

CKA認定試験を申し込むと、Killer Shellという問題集を2回だけ無料で受けることができます。

このKiller Shell、名前の通り受験生を殺す難易度となっております。

本番さながら、2時間のタイムリミットがあり、その時間のなかで約25問を解いていくのですが、

すべての問題が高難易度であり、問題数も多いため全く時間が足りません。

また、実際にはCKAの範囲ではない問題も出てくるため、浅く広くの知識だと全く歯が立たない。

私は受験日前日に1回やってみたのですが、正答率はまさかの40%

こんなので本番試験大丈夫なのか、と心を折られましたが、

本番試験の難易度はこのKiller Shellを2段階ぐらいマイルドにした感じでした。

なので、本番試験の雰囲気をつかむために受験日前日に1回受けてみるか、程度の心持ちで良いと思います。

たぶん4割取れれば受かります。

 

勉強方法まとめ

  • Udemyの講座を3周やれば受かる
  • kubernetes.ioのドキュメントは都度見ること。どこに何の情報が記されているかを確認することが重要
  • Killer Shellは雰囲気を掴むもの。得点はあまり気にしないほうがいい

 

試験当日~合否発表

試験前確認

試験前にPSIというソフトウェアをインストールさせられます。

これはリモートデスクトップ用ソフトウェアみたいな感じで、

このソフトで試験環境にアクセスすることになります。

 

PSIのインストール後、以下の確認を求められます。

  • 身分証明書を提示
  • 自身の顔をWEBカメラにて撮影

この2つを実施すると、また20分程度待たされました。

 

上記の確認が終わったら、テキストチャットにて試験官から以下を求められました

  • 部屋の回りをWEBカメラでゆっくりと見渡すように撮影
  • キーボードやラックトップの下の確認
  • スマートフォンやデバイスを持っていないか確認(ポケットの中身を裏返して見せたり、チャットで「i dont have device」みたいな感じで打ち込んだらOK出ました)
  • 飲み物の持ち込みがあるかどうかの確認(私は飲み物を持ち込んでいなかったので「i dont have water」とか打ち込んだらOKでした)

全部の確認が終わったら、実際の環境にリモートで接続されました。

ちなみに、すべて英語のやり取りとなるので、何を確認されているかの雰囲気だけでも理解しておかないと大変なことになります。

事前確認中はほかのブラウザも開くことができないので、Deeplによる翻訳にも頼ることができません。

やり取り例みたいなのがWEBに転がっているので、不安な人は事前に見ておくとよいと思います。

※とはいえ、英語知識0の自分でもなんとか理解できる程度だったので大丈夫だと思いますが・・・

 

試験中

試験開始のボタンを押すと、試験が開始されます。

コンソールやブラウザは自分で開く必要がありますが、試験前に軽いチュートリアルみたいな案内が表示されるので大丈夫だと思います。

また、試験中に怪しい行動をするとテキストチャットで指摘が入るので注意です。

私は1回、顔がうまくWEBカメラに写っていないので位置を調整してくれ、とチャットで注意が来ました。

試験時間は120分で、左上に残り時間が表示されていました。

私の時は全17問で、すべて解き終わったときには30分ぐらい時間が余ってました。

その後、分からなかくて飛ばした問題や不安な問題を見直したりして30分使った感じです。

試験が完了したら「Exit EXAM」みたいなボタンを押して試験終了でした。

試験後、アンケートページに誘導されたので一応アンケートに答えて当日は終了、といった流れでした。

 

合否発表

合否発表は試験終了から約24時間以内に公開されます。

私の場合は、2/13の23時~25時の時間で受験したのですが、

合否の発表はだいたい2/14の23時30分ぐらいでした。

スコアは86点。

2問ほど不安な問題があったのですが、それ以外はちゃんとできてたってことですね。

合否は試験開始時にアクセスするページ(スケジュールとか設定する場所)にて確認することができました。

 

合格へのコツ

コツというか、「自分はこうしたよ」という考え方なのですが、

暗記するよりも、ドキュメントの参照を覚える

こっちのほうが万倍も効率的です。

もちろん、 run とか create とか、 deleteとかの基本的なコマンドは暗記しますが、

PVやPVCの作り方、ServiceAccount関連の操作などは、コマンドやyamlテンプレートを覚えるよりも、

ドキュメントにどういうことが書いてあって、どのようにすれば作成できるかなどを覚えておいたほうが絶対にいいです。

大切なのはコマンドやテンプレートを覚えることではなく、その仕組みを理解すること。

そのためにもまずはUdemyでの座学が必要不可欠だと考えております。

 

あとは、自分の苦手な分野を理解しておくことでしょうか。

例えば、自分の場合はセキュリティ関連、特に証明書関連の問題が苦手だったので、

本番で出題されたときは真っ先に飛ばして後回しにしようと考えていました。

試験時間は2時間と長いようで短いので、分からない、不安だと思う問題はパッと飛ばして次の問題にとりかかったほうが良いです。

苦手な問題に時間をかけて結局分からなくて、最後の方にある分かる問題を取り逃していたら勿体ないですからね。

そのためにも、「どの問題を後回しにするか」を事前に決めておく=苦手な問題の傾向を理解しておくことが大事です。

思い切って「捨て門」を作っても良いかもしれませんね。

 

あとはひたすら手を動かす、反復練習ですかね。

学校の勉強とかでもそうですが、黒板に書いてあるものを読むだけなのか、

それとも実際に書いて覚えるのかでは、後者の方が圧倒的に覚える効率が良いです。

※確かそういう論文も出てたはず

Udemyの講座にしても、1周目は仕組みを理解するという意味でもじっくりと座学を見て、理解して、という流れで良いと思いますが、

2周目以降はひたすら問題を解きまくるだけでいいと思います。

そのうえで「もう一回理解を深めたい」という項目については、1.5倍速で動画を見直したりしてました。

 

ちなみに、本番試験には「部分点」というものが存在すると思われます。

なので、分からない問題であっても、途中まで解いたりしておくともしかすると加点されているかもしれません。

 

まとめ

  • Udemyの講座はセール時に絶対買え!
  • とにかく手を動かす。本やドキュメントを読むのは手を動かしながら
  • 英語は必要なかったけど、やりとり集みたいなのは事前に見ておくといいかも

コメント

タイトルとURLをコピーしました