meta-something

論文とか研究とか趣味のネタとか

Kubernetes実務経験0年から約1ヶ月でCKA取得までの記録

N年振りのブログ記事の執筆ですが、実質1ヶ月くらいでCertified Kubernetes Administrator (CKA)を取得できたので、先人に倣って適当に記録を書こうと思います。

CKAを取得しようと思った経緯

2022年2月頃から転職活動をはじめており(一応は今も続けている)、コンテナ技術関連分野でキャリア採用に応募しようかな~と思って各社のバックエンドや基盤開発エンジニアの募集を探していたものの、何処の募集要項を見てもコンテナオーケストレーションとしては大体Kubernetesを採用していて、要求スキルとしてk8s知識が求められている状況。

一方で私自身のk8sの経験と言えば、遥か昔に研究室の計算機クラスタで小規模なk8sクラスタを構築してみたくらいの経験はあるものの、本番環境でまともなk8sを触ったことがないくらい(Kubernetes実務経験0年)。

ということで、「転職活動で役に立てたい」という気持ちと「体系的なk8sの知識を学びたい」という気持ちにより、CKAを取得しようと思い立ちました。 (ちなみにここに思い至るまでの経緯の裏で1件の選考のお祈りを受けている)

(厳密には1ヶ月以上かかっていますが、Udemyコースは結構な期間サボっていたのと、コースを修了してから試験を受けるまで期間が空いたので……)

Certified Kubernetes Administrator (CKA) とは

training.linuxfoundation.org

Cloud Native Computing Foundation (CNCF)とLinux Foundationが提供している、Kubernetes管理の体系的な知識やスキルを備えていることを保証する認定、およびその試験のこと。

試験内容はk8sの基本的な操作からクラスタトラブルシューティングまでを含む様々な問題を、Web上のターミナルから実際のk8s環境にアクセスしてコマンド操作を行いながら解いていく形。

受験料は $375(試験のみ) と $575(教材+試験)と、個人で受けるには若干お高い。私は前者の試験のみを選択して、教材としては後述のUdemyのコースが評判が良かったので、そちらを選びました。ちなみに試験のみを選んだ場合でも、試験シミュレータ(Killer.sh)が利用可能です。

参考にした情報

とりあえずCKAを受験することを決める前に、他の日本人によるCKAの合格体験記のようなものをググって調べました。特に参考になったのは以下の2つ。どちらも事前の試験対策から教材の紹介、当日の試験内容や注意点など、試験全体の感覚が日本語である程度わかるので、受ける気持ちがあったら読んでおくといいと思います。

zenn.dev lethe2211.hatenablog.com

色々と読んで感じた印象として、順当に準備して順当に受ければ取れそうな気がしたので、転職の道具にはできるかなと思い、取得を目指すことにしました。

使用した教材: Udemy

主に勉強に使ったのはUdemyのCKA対策コースです。動画による各種の解説に加えて、別サイトと提携してKubernetesの実環境をブラウザ上から操作して演習問題が解ける上に出題範囲はほとんど網羅しているので、正直これだけで良いです。

www.udemy.com

通常価格は2.4万円もするのでとてもお高いですが、頻繁に開催されている90%OFFセールの期間で1600円くらいで購入しました。

解説も問題もすべて英語なので、言いたいこと(概念)を理解する程度の英語力は必要ですが、分散システムやLinux理経験がある程度あれば、既知の概念と関連付けて理解できるのでなんとなくはわかると思います。

このコースは特に演習問題がよく出来ていて、実際の試験で参照可能な公式ドキュメント(Kubernetes.io/docs)の参照するべきページをリンクで表示してくれたり、動画解説で公式ドキュメントのテンプレートをどう変更すればいいのかについての説明があります。

この「公式ドキュメントやコマンドのヘルプを見ながら問題内容に合わせて変更を加える」作業は、本番のCKAの試験でも何度も何度も行うことになる行為なので、動画解説と同じようにコマンドのヘルプやドキュメントの確認作業ができるようになれば、試験にはほとんど合格できると思います。

もちろん、このUdemyのコースおよび演習問題に関していくつかの不満点はあります。

  • 動画の字幕が自動字幕なので役に立たない。Kubernetesがclarinettist(クラリネット奏者)と表示されていたりする。
  • 演習環境のコネクションが頻繁に切れる。環境はそのままなので作業は継続できるが、単純にストレス要素。
  • 一部の演習問題の回答がおかしくなる場合がある。Solution(正答)と同じ操作をしても上手くいかない場合は環境を再起動するか、諦めてスキップした方がよい。

が、その辺りを考慮しても破格の内容なので、大変オススメの教材です。

ちなみに私はコースの最初の方では各回のマニフェストYAML)を手元のエディタで写経したりしていましたが、途中で時間の無駄だと気付いたので、講座の動画はあくまで概念を勉強するものだと割り切り、解説は流し見するようにしました。その代わりに演習問題を中心として公式ドキュメントとコマンドのヘルプから問題を解けるようにしました。

結果的には取り組み方を変えてからコースの進行速度が大きく上がったので、既に知っている概念が十分に多いのであれば、座学として勉強するよりも実際のKubernetes環境やコマンド体系、公式ドキュメントに慣れる方を優先した方が良いと思います。

Killer.sh

killer.sh

他の人の体験記録には記載が見当たりませんでしたが、CKAの「試験のみ」の方を選んだ場合でも Killer.sh というサイトで試験シミュレータが利用できます。CKAよりも少し難しい内容の試験を2回(内容は同一)受けられるもので、実際に私が試験前に受けたところ、わからない問題多数、時間も足りずと、心が挫かれました。しかし採点後に見られる問題の解説は有用なので、これを見て「なるほどなー」となる価値はあると思います。また、公式提供の試験シミュレータだけあってUIが本番のものと似ています。

試験当日のあれこれ

試験は完全に遠隔で実施されるのですが、他人がいないとか机の周りにカンニングできるものがないとか色々と条件があります。他の方の合格記録では会社の会議室を利用されたりしていましたが、私はあらゆる物で溢れた1人暮らしのワンルームの部屋で受験しました。

docs.linuxfoundation.org

部屋の様子、特にデスク周辺は監督官の指示に従ってカメラを動かして写す必要があるので、事前に机の上に余計なものをなくしたり、部屋の掃除をしておく必要があります。その他、監督官の指示に従って指定されたChromeの拡張を導入して画面共有したり、試験を受けるPC上で余計なプロセスが走っていないかタスクマネージャーを見せる必要があります。意外とこの準備段階が長く、約30分は所要しました。

基本的には指示に従っていれば大丈夫ですが、試験管とはテキストチャット(英語)でやり取りする必要があるので、もしかしたら少々面倒かもしれません。試験開始前なら翻訳ツールを使っても特に咎められないと思いますが。。

当日の細かい流れについてはこちらの方の記事が細かく書かれているのでオススメです。 https://zenn.dev/azukiazusa/articles/30e5a2988c2dd9#%E8%A9%A6%E9%A8%93%E3%81%AE%E6%B5%81%E3%82%8C

試験結果とまとめ

CKA Score

CKAの合格点は66点で、私のスコアは83点でした。解けているか不安だった問題がそこそこあったわりには、思ったよりもスコアが取れていたようです。ひとまず、取ろうと思った資格が無事に取れたので一安心と言ったところでしょうか。

試験自体の感想としては、Kubernetesの概念やコマンド等を体系的に学ぶための入門としてはとても良い勉強になったんじゃないかと思ってます。一方、当然ですがKubernetesの実務経験の方は0年から増えていないので、実務で役立つのかどうかは何とも言えません(それはそう)。

とりあえずは「CKAを取ろうと思ったら1ヶ月で普通に取れるくらいの知識経験はあるよ!」と書かれた新しい棒を装備して、引き続き転職活動に励みたいと思います。