運び屋 (A carrier(forwarder) changed his career to an engineer)

Network / Cloud Native / Kubernetes / コンテナー / SRE / DevOps

趣味KubernetesとCKA & CKAD合格体験記

  • 先日、Linux Foundation傘下のプロジェクト「CNCF(Cloud Native Computing Foundation)」の資格を2つ取得しました。以下に記載する内容がこれから受験される方、または受験を検討される方の参考になれば幸いです。
  • タイトルにもある下記の資格をそれぞれ英語で受験し、合格しました。

ここで話すこと

  • なぜ受験したのか
  • 勉強開始前の状態
  • 勉強期間
  • 試験概要
  • 合格までに行った勉強
  • やっておけばよかったこと
  • 試験のポイント
  • 今後の目標

ここで話さないこと

  • 試験の問題そのものや傾向など(守秘義務(Confidentiality Agreement)のため為)
  • CKA/CKAD試験の受験手続きや価値について

なぜ受験したのか

  • 趣味で勉強してきたKubernetesの知見を一定のレベルまで高めたかった
    Kubernetes/Cloud Native技術に関する勉強会に参加してきており、実務で触れる機会はあまり無いものの、基本的なリソースや挙動をある程度抑えていた。ハンズオン形式の試験で理解を深めておきたかった。
  • 「プロ職」として
    社内で「プロフェッショナル職(通称:プロ職)」という「自分の技術で、経験で、技術にこだわっている人を感動させる」という事をミッションにするロールについており、技術領域のアウトプットの質をあげていきたかった。また、社内、現場、イベントの運営メンバーなど、さまざまな立ち位置で強いエンジニアの方に囲まれているので、「少なくともここまではできる」というラインの説得力が欲しかった。

  • 「エンジニアリングメンター」として
    社内の「エンジニアリングメンター」を兼任しており、「一歩を踏み出そうとしているエンジニアをサポートする相談役」として活動を行っている。サポートする側の自身が、更に一歩先に踏み出していかねば、という気持ちから。

勉強開始前の状態

  • 文系卒半熟ネットワークエンジニア(約2年3ヶ月)
  • AWS基盤チーム インフラエンジニア(約1年)
  • ブログ開始時の自己紹介で軽く触れた「物理コンテナの営業」以外にも「レンタカーのコールセンターでバイリンガルチームオペレーター/チームリーダー」など異業種で10年近くの職歴を経ており、業界経験は年齢の割に浅い
  • 日々の業務では、AWS基盤の運用/設計/構築/開発を行っている
    • 普段Kubernetes、EKSなどは触っていない
  • 英語の読み書きはビジネスレベル(全国通訳案内士資格保持者)

勉強期間(???)

  • 受験期間としては、2020年11下旬~2021年4月24日
  • ずっと勉強していたわけではなく、試験前の週に慌てて優先度を上げてハンズオンを実施していたので、継続的に学習していた期間の算出が困難
  • 毎週、SRE/DevOps/Kubernetesをテーマにしたメルマガを読み、ブログとしてまとめているのでKubernetes関連情報は常に目に触れてきた
  • この期間以前より、Kubernetes/Cloud Native関連コミュニティーの勉強会に継続的に参加してきた

結果(受験日ベース)

  • CKA 2020/11/23(月) 42/100点 No Pass ...
  • CKA 2020/12/06(日) 39/100点 No Pass ...
  • CKA 2021/03/27(土) 61/100点 No Pass ...
  • CKA 2021/04/17(土) 66/100点 Pass !!
  • CKAD 2021/04/24(土) 70/100点 Pass !!

不合格分 Exam History

f:id:Yoshiki0705:20210429003055p:plain

CKA スコアレポート

f:id:Yoshiki0705:20210429003535p:plain

CKAD スコアレポート

f:id:Yoshiki0705:20210429003539p:plain

証明書

  • 2021年に受けた分は、上記の結果と合わせて、受験終了から24時間以内で来ました
  • 2020年のCKA受験時は、スコアレポートは「within 36 hours」と案内されていましたが、現在は「within 24 hours」と案内されています
    • 受験するタイミングによっては、結果を気にしたまま2晩を過ごしていました。
      これが1日で来るようになったので、嬉しい改善点!!

CKA

f:id:Yoshiki0705:20210429004341p:plain

CKAD

f:id:Yoshiki0705:20210429004348p:plain

試験概要

CKA

  • 2時間のハンズオン試験
  • 2021年4月時点の問題のドメイン、重み付けなどは以下の通り。詳細は上記のリンクから

f:id:Yoshiki0705:20210429122948p:plain

CKAD

  • 2時間のハンズオン試験
  • 2021年4月時点の問題のドメイン、重み付けなどは以下の通り。詳細は上記のリンクから

f:id:Yoshiki0705:20210429122945p:plain

合格までに行った勉強

Udemy講座受講

上記Udemyの動画(英語)を見て、付属のハンズオンラボで自力で解答できるように操作を練習

ハンズオン

  • 上記Udemy講座付属のハンズオンラボで気になった点、不明点が発生した場合は切り分けのため、ローカルのDocker環境とKubernetes環境を用意して、そちらで動かしながら、理解を深めました。
  • ハンズオンの試験なので、このハンズオンラボの問題が自力で解答できる状態になっていれば、CKA/CKADはどなたでも合格点を取れると思います。

Kubernetes完全ガイド 第2版をチェック

  • 迷った時は、こちらの本をチェック。
  • 「何となく勉強してみたが、これができて何が嬉しいのかわからない」「どうしてこうなっているのかわからない」という時に絶大な力を持っていて、図解も多いのでとても助かります。
  • 著者の方もおっしゃっていましたが、「この本を全て理解してからCKAを受ける」だと、かなりオーバーキルです。道に迷ったり、できることを知りたいなどの時に開くと良い本だと思います。

やっておけばよかったこと

Kubernetes the hard wayのハンズオン

  • 去年受験した段階では、「各リソースを動かしたことがある」ぐらいのレベルでした。複数のリソースを組み合わせる問題が出てくると、途端に時間が掛かるか答えられない状況になりがちでした。
  • このまとめ記事を書く際に中身をチェックしてみたら、「あっ、ここが理解できていなかったんだ」と言う発見が多かったです。お時間がある方にはオススメします。

日々のハンズオン

  • 試験日が近づいてから慌てて勉強する→ハンズオンする→忘れている部分が多々あったり、変更に対応が必要→時間が足りない、のループを繰り返していました。
  • 業務で扱っている人であればこのループは起きないですし、日々自己学習でも手を動かしていれば手戻りが少なく、着実にもっと早くパスしていたと思います。

試験のポイント

長考しない

  • 問題数に対して、時間が多くはありません。特にKubernetesでのトラブルシューティングに慣れていない方は、配点が低いかつ難しいまたは時間が掛かる問題は早々にフラグを立ててパスして、なるべく早々に最後まで解いた方が良いと思われます。
  • 解けそうな問題も、粘るのは2つ目のアイデアぐらいに留めて次にいった方が良いと思います。私は、CKAを最初/2回目に受けた時にその割り切りができなかった&YAMLファイルのトラブルシュートに熱中してしまったので、配点が高いかつ簡単な問題を解く時間が無くなり、惨敗しました。

Free Retake権を考慮した日程を組む

  • CKA/CKADには初回の不合格に対して、無料の再受験(Free Retake)権が付与されます。スコアレポートを受けった後、記載の手順で無料で再度試験を申し込めます。
  • 購入から1年が受験期限になっていますので、早めに受験日程を決めておいて初回は下見のつもりで受けてみても良いと思います。
  • ハンズオンの試験ですので、試験勉強と試験の過程で手を動かしていくのが実務面、記憶面で良いと思います。私はこの試験の過程でターミナル操作を見直し、多少なりとも日々のオペレーションの効率化ができたと思います。

kubernetes.ioのページを利用したトラブルシュートに慣れておく

  • 詳細は「Resources allowed during exam」を確認頂きたいのですが、以下の制限があります。
  • つまり、試験中に書き方がわからなかったり、参照したい資料があった場合に頼れるサイトは上記のみです。なので勉強中も上記公式サイトで確認したり、記載情報を利用して動かしていくと良いと思います。
  • 個人的には kubectl explain <リソース名> --recursive | less コマンドでリソースの階層構造をターミナル上で確認していくのが便利で活用しています。

レンタルスペースを利用する場合は、環境が試験の条件と合致しているか確認しておく

  • 試験は条件が揃えば自宅でも可能かと思いますが、私は厳しかったのでレンタルスペースを利用しました。そして、他の利用者の方の音が気になるレベルだったのでヒヤヒヤしました。
    • CKA受験時は、近隣のスペースの利用者がサッカーや旅行の話題で盛り上がっている声が聞こえてくる場面がある等、落ち着かなかったです。
    • CKAD受験時は、近隣のスペースの利用者がサッカーや旅行の話題で盛り上がっている声が聞こえてくる場面がある等、落ち着きませんでした。
  • 当日に、周囲の音、部屋のデコレーション、試験中の予期せぬ入室などで失格にならないように事前に以下を確認して受験環境を決めておくと良いでしょう。

試験前後の時間は余裕を持っておくこと

  • 私の場合は、3時間予約して早めに行ってセッティングしていました。 テスト開始前に試験監督の担当社がテストで違反行為や違反行為が疑われる行動が無いか確認していきます。

受験申し込み時の言語選択は日本語/英語どちらでも大差無し

  • 「予約する際にどちらの言語が取りやすいか」の観点で比較していないのでそこは分かりませんが、試験当日の試験環境のターミナル画面では言語を簡単に切り替えられました。
  • 試験の監督担当とのやりとりはチャットなので、英語で受験にしてもリスニングやスピーキング能力は不要です。ちなみに、私は英語受験で申し込み試験担当の方とチャットしましたが、試験環境のターミナルのデフォルトが日本語表示になっていたので、スッと英語に切り替えました。
  • 個人的に英語の方が指示内応、コマンドが見やすいのですが、そこはお好みで。

外部モニターが不要であれば使わない

  • CKAの初回受験時は外部モニターを利用しましたが、試験監督側としてはそのモニターで不正を行なっていないか確認する必要があるので、確認するポイントが増え、お互いに面倒な気がしました。
  • 試験を受けた感想では、外部モニターが必要になるような場面も無いかなと思ったので、CKAの2回目の受験以降は外部モニターは利用しませんでした。
  • 利用した機器は、外付けキーボード(Bluetooth対応)、マウス(Bluetooth対応)とポケットWifiです。
  • 一度、試験中にネットワークが切れて再接続時に最初の画面に戻っていたので焦りましたが、ターミナルに接続したらそれ以前の回答データ、ファイルが残っていたので事なきを得ました。

心身の状態を整えておく

  • 試験はそれなりの問題数があり、試験時間は120分設けられています。
  • 試験前後はなるべく予定を空け、万全な状態で受ける事をオススメします。私はレンタルスペースを180分予約して、試験の前後30分ずつ余裕を持って利用しました。
  • 緊張/疲れ/焦りなどによる判断ミスや遅れが出る事があります。私は寝不足気味で挑んだこともあり、タイプミスやコピペミスが目立っていました。

まとめ

  • 紹介しているUdemyの上記動画/ハンズオンラボ付きのコースを受講し、自力で各セッションとMock Examの問題が解ける状態になっていれば、まず受かるかなと思います。
  • CKA受験の翌週にCKADを受けましたが、CKAに合格する力がついていれば、CKADの若干異なる出題範囲に対応すれば問題無く合格できると思います。私のCKAD単独の勉強時間は10時間足らずです。
  • 試験時期、個別の状況やキャラクターに合わせて必要な情報、アドバイスも変わってくると思いますので、この場では汎用的な内容に留めさせて頂きました。
  • 内容に不明な点や個別に確認したい点があれば遠慮なくお声がけ下さい(守秘義務に反することは答えかねます)。

今後の目標

  1. 引き続き資格取得
    今年はあと以下を取得していこうと考えています。

    • AZ-104
    • AWS DevOps Engineer Professional
    • CKS(Certified Kubernetes Security Specialist)
    • AWS 専門知識(Advanced Networking/Securityなど)
  2. ハンズオンのブログを書いていく

    • 自身が興味を持って触った技術や手順をまとめたブログを書いていって、より役立つ情報をお届け出来ればと考えています。

最後に

  • CKA&CKADの合格体験記の執筆にあたって、自身の頭が整理されてきました。また、「まだまだわからないことが多い」ということが分かったので、引き続き勉強していこうと思います。

  • そして、これまでさまざまな方に応援して頂いたり、アドバイスを頂いていましたが、のらりくらりと受験や勉強を先延ばしにしてきました。辛抱強く見守って頂いた方々にこの場で改めてお礼を申し上げます。

  • これで「2021年の抱負」に書いていた目標の一つの達成が見えてきました。KubernetesはあとCKSを。

  • 基礎力向上のための、資格取得駆動の学習は今年で区切りをつけたい想いがあり、上記のような資格マニアっぽい動きをしていますが、手を動かす時間を増やしていきたいと思っています。

    • 他の目標も良いペースで取り組めているので、引き続きやれることをやっていこうと思います。
  • KubeCon + CloudNativeCon Europe 2021 Virtual(2021/05/04-05/07)の前に、両方取得できてスッキリしました。イベントや締め切り大事。

  • この記事は明日、英語化して公開しようと思います。お楽しみに。
    →英語版「How I passed CKA & CKAD by personal interest」をMediumで公開しました。よろしかったら、こちらもご覧ください。

では、また。

Bye now!!

Yoshiki Fujiwara