Help us understand the problem. What is going on with this article?

CKA/CKADに合格したので比較してみた + Tips

More than 1 year has passed since last update.

Kubernetes認定資格2種類に合格しました。

ここでは両者の比較とTipsの紹介をしたいと思います。
CKAについてはCertified Kubernetes Administrator(CKA)を取得したでも学習方法などを紹介していますので、よろしければご参照ください。

ckad.png

CKA/CKADの比較

主観込みですが、2つの試験を比較します。

             
項目 CKA CKAD
試験範囲
  • 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%
  • Core Concepts 13%
  • Configuration 18%
  • Multi-Container Pods 10%
  • Observability 18%
  • Pod Design 20%
  • Services & Networking 13%
  • State Persistence 8%
トレーニング Kubernetes Fundamentals (LFS258) Kubernetes for Developers (LFD259)
試験時間 3 2
設問数 24 19
1問あたり(分) 7.5 6.3
合格ライン 74% 66%
筆者のスコア 92% 71%
設問難易度 ★★★☆☆ ★★★★☆
合格難易度 ★★★☆☆ ★★★☆☆

CKAは広く浅く、CKADは狭く深く問われる印象です。
合格ラインは毎回異なると思っていましたが、FAQに明記されていたので固定のようです。

Tips

kubectlの補完

kubectlにはシェル補完機能が用意されています。コンソールの使い勝手が悪く、コピペもままならないので、サブコマンドやリソース名の補完は非常に便利です。特にDeploymentを通じて作成されたPod名にはランダム文字列が付加されており、kubectl describe pod <Pod名>などのコマンドを実行する際に効果的です。

$ source <(kubectl completion bash)

kubectl runによるリソース作成

本来はYAMLにリソース定義を記述してkubectl applyするのがよいでしょうが、時間との勝負になるのでサクッとできることはやりましょう。kubectl runでリソース作成できるようにしておくと便利です。

リソース kubectl run <name> --image=<name> --restartフラグ --scheduleフラグ
deployment kubectl run --image=
pod kubectl run --image= --restart=Never
job kubectl run --image= --restart=OnFailure
cronJob kubectl run --image= --restart=OnFailure --schedule="* * * * *"

(出典)CKADをさっさと合格するためのTips

sed、awkによる抽出

○○なPodの名前のみファイルに記述せよ、という問題が出ることがあります。ここでもコンソールの使い勝手の悪さが厄介になるので、sedawkを使ってPod名を抽出します。

現在のPodの状況が以下のようになっているとします。

$ kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-65899c769f-748cp   1/1     Running   0          52s
nginx-65899c769f-7w457   1/1     Running   0          52s
nginx-65899c769f-ts62g   1/1     Running   0          52s

例としてnginx-65899c769f-7w457が正解で、answer.txtに出力するコマンドを示します。

$ kubectl get pods | sed -n 3p | awk '{print $1}' > answer.txt

sedで3行目を、awkで1列名を抽出しています。

書き込み権限のないファイルへの追記

上記のように解答をファイルに記述する際、指定ファイルの書き込み権限がない場合がありますが、teeで書き込むことができます。

$ kubectl get pods | sed -n 3p | awk '{print $1}' | sudo tee -a answer.txt

まとめ

CKA/CKADともに難易度はそれほど高くないと感じます。ただし、特にCKADは時間との勝負になるのでサクサク解答するためのコツを押さえておくとよいでしょう。

参考

CKADをさっさと合格するためのTips

oke-py
OSSコミッタに憧れるセキュリティエンジニア 興味: Kubernetes/AWS/GCP
https://note.com/oke_py
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした