認定Kubernetes管理者(CKA)にほぼ満点で合格しました

認定Kubernetes管理者 (CKA) に ほぼ満点 で合格しました。

f:id:kimulla:20200325073719p:plain

スコアは 98% でした。これはつまり、 Kubernetes 完全に理解した(入門した) という事ですね?

f:id:kimulla:20200325073829p:plain

この記事は 認定Kubernetes管理者(CKA) の概要と勉強方法を共有します。

認定Kubernetes管理者(CKA) とは

Linux FoundationとCloud Native Computing Foundation(CNCF)によって作成された、 Kubernetes 管理者向けの資格です。ハンズオン形式のテストで、ブラウザに試験問題と試験用の CLI 環境が用意され、そこで実際にクラスタを操作して問題を解いていきます。実技試験です。(ちなみにデベロッパー向けには CKAD という資格が存在します。)

受験時の注意点については、Candidate HandbookFrequently Asked Questions を確認してください。(オンライン受験のためか、注意点が多いです。)

難易度は?

それほど難易度は高くありません。私は Kubernetes 未経験の状態から 1 か月弱で合格しました。トータルの勉強時間は 100h 位だと思います。

しかし出題範囲が広いです。Kubernetes の主要なリソースについて、目的と作成方法を理解している、程度の知識が必要です。また管理者向け資格のため、トラブルシューティングやクラスタ構築に関する知識も必要です。(より詳細な出題範囲については curriculum を確認してください)

  • Application Lifecycle Management 8%
  • Installation, Configuration & Validation 12%
  • Core Concepts 19%
  • Networking 11%
  • Scheduling 5%
  • Security 12%
  • Cluster Maintenance 11%
  • Logging / Monitoring 5%
  • Storage 7%
  • Troubleshooting 10%
    引用元: Candidate Handbook

また、試験時間がタイトです。3h で 24 問を解かなければいけないため、1 問にかけられる時間は 7.5 分です。一つ一つの問題は、「〇〇という Pod を XX という名前で各ノードに配置しろ」というサイズがほとんどですが、ハマると時間が足りません。そのため、kubectl にある程度は習熟している必要があります。

ただし、yaml の細かいパラメータや利用頻度の高くないコマンドについては、暗記する必要ありません。受験中に https://kubernetes.io, https://github.com/kubernetes/, https://kubernetes.io/blog/ にアクセスできるため、そのつど調べながら解けば良いと思います。ただし、タブは一つしか開けない点に注意が必要です。

https://github.com/kubernetes/ にアクセスできるということは、クソ Issue を立ててカンペ書いた場合、正当な権利として参照できるのでは?と思ったのですが、たぶん失格を食らうのと、人間として大事な何かを失うので、おとなしく勉強しましょう。

勉強方法

次のように勉強しました。実技試験なので、演習問題を多めにやるといいと思います。

  • クリエーションライン主催の Kubernetes トレーニング( 30h + 自習で 10h くらい)
    • 会社の金で受講しました。会社の金で受講する研修は楽しい。
    • 網羅的に学習できます。質問の場も豊富にありました。
  • Kubernetes 完全ガイド( 40h くらい)
    • 書籍名のとおり完全ガイドです。詳しいです。
    • コマンド例も載っているので、動作確認しつつ読み進めました。クラスタ環境は kubeadm で Google Compute Engine 上に構築しました。
    • 試験範囲から外れている部分もあるので、そういう章は後回しにしました。
  • Kubernetes The Hard Way (15h くらい)
    • クラスタ構築を手動で行うチュートリアルです。
    • Kubernetes の構成要素(kubelet とか kube-apiserver とか etcd がどう連携しているのかが少しわかるようになります。トラブルシューティングで役に立ちました。
    • サクサク進められるので、パラメータの意味を調べつつ実施しないと「よくわからんけどチュートリアルは終わった」という感じになります。私は 1 巡目そうでした。
  • CKAD-exercises (8h くらい)
    • CKAD 向けの模擬試験です。
    • CKA と CKAD は出題範囲がそこそこ被っているので、有用です。
  • Udemy Certified Kubernetes Administrator (CKA) with Practice Tests コース (15h くらい)
    • 模擬試験付きの Udemy の CKA 対策コースです。
    • 定価 24,000 円のところ 94% オフで 1,500 円くらいで購入しました。かなり頻繁に 94% オフをやっていて「景品表示法的にどうなんだろう…」という気持ちになりますが、考えないようにしました。内容は良かったです。この模擬試験が合格にいちばん貢献したと思います。

また、上記と並行して https://kubernetes.io のドキュメントを読んでいました。試験中に参照できるので、勉強中も同じドキュメントを読んでおくとスムーズです。

さいごに

皆さんも CKA 受験で Kubernetes を完全に理解(入門)しましょう!