どうも dev.aoki です。アドカレ以外でほぼ書いてない人になってしまったな。
昨日 (2023/3/25) に CKA の認定試験を受け、見事に落ちてしまったので、その反省について書いていきます。
CKA とは?
Kubernetes の管理者としての技能を認定する The Linux Foundation の試験です。
細かい話は公式や、他の方の受験記の方が詳しいと思うのでここでは割愛します。
試験で特徴的なのは、問題に回答するタイプの試験ではなく、実際にコンソールを触って実技能力を問う試験であることです。2022 年の 6 月から、試験プラットフォームが代わり、現在は PSI セキュアブラウザというアプリケーションをインストールし、リモートデスクトップ環境 (CKA の場合は Ubuntu) で操作を行う形式になっています。
https://training.linuxfoundation.org/ja/blog/update-on-certification-exam-proctoring-migration/
反省点まとめ
1. Killer.sh やっとけ
落ちた他の方の記事でもいくつか見かけましたが、やはりこれ重要です。この情報を落ちるまで見落としていた時点で敗北でした。
killer.sh は Kubernetes 系認定試験をサポートしている、試験シミュレータです。私もまだ利用していないので情報を見ただけの知識ですが、CKA は受験した時点で 2 回分の模擬試験 (本番より難易度がやや上らしい) が受けられるので、使わない手はないと思います。どうも試験予約のページにリンクがあったらしい……。
https://killer.sh/faq
内容もそうなんですが、私の場合はとにかく、実際の試験と同じ環境を事前にテストできる、というのが大きいと思いました。この後に記載する環境上のトラブルは、おそらくこれを一度体験しておけば、すべて対処できていたと思うので……。
2. 受験するマシンは事前に使い慣れておく
試験はプライベートで使っている Windows マシンで受けました。最初は仕事で使っている MacBook Pro で受けようと思ったのですが、推奨のディスプレイ解像度 (フル HD 以上) を満たしていなかったため、自宅のデスクトップマシンにしようとしました。
ちなみにこの PC ですが、最近は私用はスマートフォンで事足りることが多く、あまり頻繁には使っていませんでした。そして当日になり、試験環境のセットアップをしようとしてみたら、 Web カメラに不調が……。慌ててサブの Windows ノート PC (フル HD 画質) に切り替えることになりました。こいつが無かったら画面のちっさい Mac でやっていたのだろうか……。
3. PSI セキュアブラウザのインストールにハマる
全くもって阿呆な話なんですが、試験で使う PSI セキュアブラウザのインストールでかなり手間取りました。最終的にはインストールできたのですが、バタバタしたせいで落ち着いて試験に臨めなかったところがあります。
原因は McAfee のファイアウォールです。先述の Windows ノート PC は、初期設定で McAfee 試用版がプリインストールされており、どうもこれがインストールを阻んでいたようです。PSI セキュアブラウザのインストーラはダウンロードできたものの、インストーラをダブルクリックしても反応なし。かなり慌てました。公式ドキュメントでの試験環境についての説明にも、ファイアウォールは切れ、と記載がありました。
他にも OneDrive やら DropBox やらが試験環境基準クリアを阻害して、起動プロセス整理などで本当に焦りました。バカみたいな話ですが、当日に準備するとこういうことにハマります。
4. 画面表示に気をつけろ
無事受験環境が整備でき、試験官とのやり取りをしながらデスク周辺を見せたりしました。こちらは事前情報で色々知っていたので、片付けたりなんなりでスムーズに進みました (自宅の片づけが必要なのはなかなか面倒でしたが)。
そしていざ試験開始となりまして、PSI セキュアブラウザ越しに画面を見ると……何かおかしい。文字がデカすぎるし、ブラウザは見切れているし、エトセトラエトセトラ。文字サイズ調整をしたりして多少見やすくしたりはしたのですが、快適な環境とまではできず。特に厳しかったのが、Ubuntu 内の FireFox でドキュメントを読む際、ページ内検索をうまく使えなかったことです。Ctrl + F を押しても検索ウィンドウが表示されず。どうやら表示不備で画面外に見切れてしまっていたようでした。やむなく勘で文字を入力し、ある程度使ったりはしましたが……まぁ作業効率は悪かったですよね。
原因はまだ詳細特定できていませんが、疑っているのは Windows 側の画面表示設定で、拡大・縮小が 125% になっていたことです。これが試験環境側の表示にもなんらか影響していたのでは……このあたりはシミュレータ環境で試してみてから結論を出そうと思います。
そして、いずれにせよフル HD でも画面表示は狭い。大きいモニタは別途用意しておいた方が間違いなく有利だと思いました。僕も買っておこう……。
5. ターミナルの接続ノードを見失わない
ここまではすべて事前シミュレータで検証できる内容ですが、この項目だけは単純に受験時の注意点です。
CKA の試験では、複数の構築済クラスタをコンテキストスイッチしながら作業をします。この点は多くの受験体験記にもあり、また試験の設問にもコンテキスト変更コマンドが記載される程度にはフォローされています。が、アクセスしているノードを見落としていました。
ターミナルを使って試験を受けていて、作業の性質上 ssh でクラスタのメンバーノードにアクセスすることも多々あります。このため、次の設問に行ったときに必ずマスターノードに居るわけではないということが発生します。そこをうっかりしてしまいました。結果、設問の詳細を書くことはできませんが、誤って設問の対象ではないノードに対して操作を行ってしまい、kubelet のバージョンがおかしい……だとか、あるはずの Config ファイルが無い……みたいなことがあり、時間を大幅にロスしてしましました。作業前にちゃんと自分のいるノードは確認することをオススメします。
おわりに
かなり険しい状況で受験した結果ですが、合格基準ラインが 66% のところ、スコア 64% と、自分としてはかなり善戦していました。逆に言えば、環境問題でのタイムロスが無ければ受かってたかもしれないな、と思って悔しい限り。
CKA は 1 つの受験クーポンで 1 度の再受験が可能なので、次は事前の環境準備を抜かりなく行ってから挑もうと思います。
CKA の学習自体は Kubernetes のコンセプトをかなり全域に渡って理解できるものだったので、触ってる方にはオススメの試験です。あと手を動かすので単純に楽しい。よかったら皆さんもご検討ください。それでは!