CKA受験体験記(2020/03)

# はじめに
Kubernetes に触れること２年半、業務で利用すること１年ちょっと。
プロジェクト内でも取得推奨の波が押寄せて来たため、CKA を受験してきました。
これから受験する方へ少しでも参考になればと思います。

# 申し込み
私は LinuxFoundation のページから購入しました。
英語サイトでの個人情報入力に不慣れだったため、「英語サイト」「ショッピングの仕方」などのサイトを参考にしながら入力しました。
購入はクレジットのみのドル支払いでした(クレジットカード会社で良しなにやってくれているようで、クレジットカードの明細に換算レートも記載されていました)。

CyberMonday？ の時期(2019/12)に購入したため、CKA 受験用のバウチャーコードと、トレーニングコース(LFS258)のセットで２万円弱で購入できました。本来は受験料だけでも３万円を超えるため、トレーニング教材付きで随分と安く購入できました。

バウチャーコードには期限があり、購入後一か月以内に利用しなければなりませんでした。私はそれを失念しており、期限前日に何とか登録完了しました(英語だったので読み飛ばしてました・・・)。
バウチャーコードの使い方も最初は分からなかったのですが、通常の CKA 受験を購入する手続きを踏むだけでした・・・クーポンを入力する欄にバウチャーコードを入力することで $0 になり、購入完了となりました。
※日本語サイトだと簡単な作業ですが、不慣れな英語サイトになった途端にこれでいいのかと不安になりました・・・

# 受験準備

## ポータルサイト
LinuxFoundation のポータルサイトでチェックリストがあるので、まずは一通り確認しました。
英語での記載のみだったので Google 翻訳と chrome の翻訳機能にお世話になりました。
チェックリストはリンク毎に以下の通りでした。

**Register for Exam**
ポータル入った時点でチェック済みだった気がします。

**Check System Requirements**
受験用PCのチェックサイトに飛びます。リンク先のページにて Option3 で Sponsor と Exam を選択し、Go ボタンでチェックが始まります。ブラウザ、カメラやマイク、Chrome の Extension 導入状況や回線速度を検査してくれます。
※Browser Settings のクッキーの設定は変更してもチェックがつかず空欄でした
※Hardware Requirements もスペックが足りているにも関わらず空欄でした。試験開始前にチェックサイトに飛ばされてチェックみたいなのはなかったですし、受験自体も問題なくできました。

**Schedule Exam**
試験日の予約です。地域設定に気を付けながら、受験日時を選択しましょう。

**Get Candidate Handbook**
**Important Tips**
どちらもLinuxFoundationのページへのリンクです。
> https://training.linuxfoundation.org/cncf-certification-candidate-resources/

受験に対する注意事項が書かれた Handbook、Tips が書かれた PDF が配布されています。
試験を受ける前の注意事項が記載されておりどちらも全文英語となりますが、必ず読んでおくことをお奨めします。
※バージョンがあるため、受験日時が開く場合は最新を取得して確認したほうが良いです

**Verify Name**
名前の確認です。受験の際に確認する証明書と一致してなければいけないので、予め確認しておきましょう。

**Take Exam**
受験ページに飛びます。リンク先のページでは試験日が確定すると、受験日までの時間がカウントダウンされます。

---

受験にあたり、準備するものとしては以下の通りです。
**PC**
CPU：dual core 2GHz、Memory：1GB、画面サイズ(1280 x 800)と記載ありましたが、少し足りていない 12inch Macbook でも受験できました。試験自体はブラウザでの作業のため、最近の PC であれば十分かと思います。

また、マイク、カメラの準備が必要です。
※私の場合はマイク、カメラ共にPCに付属してあったため、動作チェックだけ行いました( Windows10 には付属の「カメラ」アプリが導入されていたため、そちらでチェックしました)
※カメラは試験前の周辺チェックのためと、試験中の受験者モニタリングに使われます。試験中は履歴書に載せる写真くらいはカメラに写っていないと注意されるため、無理ない体制、画面の傾きで作業ができるか確認しておくとよいと思います。
※コミュニケーションはチャットのみのため、マイクでの会話はありませんでした

**受験する場所**
公共の場所(カフェや店舗)は NG です。静かで誰も入ってこないプライベート空間となる場所での受験だったので、貸し会議室を借りて受験しました。記事を読み漁った際には、部屋を片付けて自宅で受験されている方もいるみたいです。
試験時間が３時間だったのですが、余裕をみて前後１時間ずつ多めに予約しました。

**証明書**
ローマ字表記の証明書を求められていたので、パスポートを取得して受験しました。
が、改めてハンドブックを確認すると写真と署名付きの証明書(日本語可)と名前がローマ字表記のカード類があれば OK みたいです。あるサイトの方は免許証とクレジットカードでも問題なく受験できたとのことです。

## 勉強内容
業務で Kubernetes を利用しているため、基本的にはカリキュラムを参考に必要なところだけ復習しました。

> https://github.com/cncf/curriculum

また、The HardWay も一通り実施してみました。

> https://github.com/kelseyhightower/kubernetes-the-hard-way
> https://github.com/kenfdev/kubernetes-the-hard-way-vagrant

あとは実際に受験された方の記事を読み漁り、受験中に参照する用のリンクをお気に入りに登録しておきました。

# 受験
受験時間は 10:00～13:00 で受験しました。
9:00 過ぎには予約した会議室に入室しました。今回は会議室側に特に問題がなかったので３０分前でもよかったかもと思いました。

## 試験開始前
9:50 になると試験開始のリンクが表示されたため、早速試験ページに移動しました。
ページに飛ぶと、早速チャットが飛んできました。Botっぽいチャットが飛んできていたのですが、どうやら最初から人がチャットしていたようで・・・。受験前に日本語チャットでの対応をメールでお願いし、CKA ⇒ CKA-JP に変更して頂いたのですが、対応者は英語でした・・・残念ですが何とか読めるレベルの英語だったのでそもまま続行しました。

試験ページは上部にメニューが表示され、カメラやデスクトップの共有オンオフ、チャットの表示・非表示や試験中の離席などをリクエストするメニューがありました。チャットで支持があり以下を順に確認しました。

* デスクトップの共有をオン<br>
※デスクトップの共有のポップアップが下部に出るのですが、非表示リンクで消せました
* カメラの共有をオン<br>
※デスクトップ、カメラ共に相手に見えている内容をリアルタイムに確認することもできます
* 部屋全体をカメラで確認<br>
※画質はそこまでよくなかったため、ゆっくりと見せて回りました<br>
※部屋全体、机の上、机の下を順に確認しました
* 試験ページ以外の chrome のタブを閉じる
* chrome 以外のアプリを閉じ、タスクマネージャを開き、簡易表示で見せる
* 注意事項をチャットで再確認

なんやかんやで30分くらいかかった気がします・・・。

## 試験開始
試験が開始すると、上部のメニューはそのままにメイン画面が左右に分かれるように表示されました。
左に問題文、右にコンソール画面が表示されました。
問題文は自動で日本語が選択されましたが、英語、中国語の選択ができるようでした。

私のPCのせいなのか、ネットワークのせいなのか、、、はたまた試験の仕様上しかたないのか、コンソール画面への入力が遅く感じました。長時間の作業となるためストレス溜まりながらも必死に解きました。

コピー&ペーストはCtrl+c/vでは出来ず、別のキーバインドとなっていましたが、私が試した限りではマウスの右クリックでのコピー&ペーストはできました。

また、接続する環境(クラスタ)移動のコマンドについては問題文に記載があったので迷うことはありませんでした。問題文に出てくるイメージ名や出力先などの変数名もクリックしてコピーできるため、多用した方がよいです。
また、１タブではありますが、kubernetes docsなどの一部サイトにはアクセスできます。

問題の種類的には

* リソースを作成する
* 実行結果を指定のファイルに出力する
* 既存リソースを操作する(トラブルシュート含む)

の三種類くらいかと思います。

１問に１～８％の得点が表記されているので、問題の難易度と時間を見ながら解くのがよいと思います。

## 試験終了
試験終了１５分前に試験官よりチャットを頂きました(優しい)。
試験時間終了がくると試験官よりチャットで終了を伝えてきます。
vi 開きっぱだったのですが、そのまま終了ボタン押しました。
最後にアンケートサイトに誘導されるので答えて終了です。
３時間集中しっぱなしだったので疲れました・・・

# 結果と感想
結果的には合格ライン74%で、79%を正答し、ぎりぎり合格いたしました。
２時間経過したあたりで８、９問は解けていなかったので、これは無理だ・・・と諦めていたのですが、残り１時間諦めずに１問ずつ解き進めていったのが勝因だと思います（５問程解けずにタイムアップしましたが何とか・・・）。

受験のポイントとしては

* 解ける問題から解く
* コピペを多用する(入力ミスの防止)
* yaml を書く問題が多かったので dry-run での yaml を書けるようにしておく<br>
※以下のqiita記事が参考になりました<br>
[Kubernetes Tips: kubectl でマニフェストの雛形を作る](https://qiita.com/tkusumi/items/4f63cea4c4d910b368c4)
* 試験中で見るサイトは基本的には[CheetSheet](https://kubernetes.io/ja/docs/reference/kubectl/cheatsheet/)、または検索でなんとかなる<br>
※検索は閲覧不可な外部サイトへのリンクもあるので注意
* <font color=red>**最後まであきらめない！！**</font>

勉強していくなかで、業務にも使えそうな細かい技術、知識もあったため、資格取得とは別に収穫があったと思います。
解けなかった問題は復習しようと思います・・・。