はじめに
本記事の内容
Certified Kubernetes Application Developerに引き続きCKAも取得できましたので、勉強の際のもろもろをまとめました。
これから受験される方のお役に立てば幸いです。
CKADについてはこちら
CKAD合格ログ~事前学習/申し込み/試験~
CKAとは
https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/ より抜粋
The CKA Certification focuses on the skills required to be a successful Kubernetes Administrator in industry today.
- 試験の仕組み
- 試験の実施方法
- オンライン
- 試験の所要時間
- 3時間
- 認定の有効期間
- 3年間
- 受験料
- $300
- 受験料に含まれているもの
- 12ヶ月間の試験受験資格
- 無料の再受験
- PDF形式の証明書
- 経験レベル
- 中級
- 試験の実施方法
CKADより時間が一時間長く、問題も24問になっています。
事前学習
学習開始時点の状況
筆者のスキルレベルは下記の通りです
- v1.7くらいから趣味でちょこっと触っている
- 本格的に触りはじめたのが今年入ってから
- 先月(2019/10)にCKADを取得
学習環境
- Kubernetes
- Kubernetes The Hard Wayで作成したクラスタ
- エディタ
- Vim
- 試験中はVimで操作するため
-
~/.vimrc
のカスタマイズも一旦消して初期状態のVimで練習
- Vim
CKAはクラスタ自体を作成する問題が出る可能性があるのでHard Wayで構成したクラスタを利用しています。
学習コンテンツ
Kubernetes The Hard Way
一度はこれをやっておきましょう。
https://github.com/kelseyhightower/kubernetes-the-hard-way
「GCPの無料枠がないよ!」という人はVagrant上でやる方法もあるのでどうぞ。
https://github.com/kenfdev/kubernetes-the-hard-way-vagrant
上記Vagrant版はv1.10.2ベースなので、自分で試験環境のバージョンにあげてみるのも勉強になるかも。
CKA Curriculm
CKAのカリキュラムが公開されています。
きっちり対応しているわけではありませんが、関連しそうなページを貼っておきましたので参考までに。
下記は試験中に閲覧可能なページなので、自分は事前にブックマークしておきました。
- 5% - Scheduling
- Use label selectors to schedule Pods.
- Understand the role of DaemonSets.
- Understand how resource limits can affect Pod scheduling.
- Understand how to run multiple schedulers and how to configure Pods to use them.
- Manually schedule a pod without a scheduler.
- Display scheduler events.
- Know how to configure the Kubernetes scheduler.
- 5% - Logging/Monitoring
- Understand how to monitor all cluster components.
- Understand how to monitor applications.
- Manage cluster component logs.
- Manage application logs.
- 8% - Application Lifecycle Management
- Understand Deployments and how to perform rolling updates and rollbacks.
- Know various ways to configure applications.
- Know how to scale applications.
- Understand the primitives necessary to create a self-healing application.
- 11% - Cluster Maintenance
- Understand Kubernetes cluster upgrade process.
- Facilitate operating system upgrades.
- Implement backup and restore methodologies.
- 12% - Security
- Know how to configure authentication and authorization.
- Understand Kubernetes security primitives.
- Know to configure network policies.
- Create and manage TLS certificates for cluster components.
- Work with images securely.
- Define security contexts.
- Secure persistent key value store.
- 7% - Storage
- Understand persistent volumes and know how to create them.
- Understand access modes for volumes.
- Understand persistent volume claims primitive.
- Understand Kubernetes storage objects.
- Know how to configure applications with persistent storage.
- 10% - Troubleshooting
- Troubleshoot application failure.
- Troubleshoot control plane failure.
- Troubleshoot worker node failure.
- Troubleshoot networking.
- 19 - Core Concepts
- Understand the Kubernetes API primitives.
- Understand the Kubernetes cluster architecture.
- Understand Services and other network primitives.
- 11% - Networking
- Understand the networking configuration on the cluster nodes.
- Understand Pod networking concepts.
- Understand service networking.
- Deploy and configure network load balancer.
- Know how to use Ingress rules.
- Know how to configure and use the cluster DNS.
- Understand CNI.
- 12% - Installation, Configuration & Validation
- Design a Kubernetes cluster.
- Install Kubernetes masters and nodes.
- Configure secure cluster communications.
- Configure a Highly-Available Kubernetes cluster.
- Know where to get the Kubernetes release binaries.
- Provision underlying infrastructure to deploy a Kubernetes cluster.
- Choose a network solution.
- Choose your Kubernetes infrastructure configuration.
- Run end-to-end tests on your cluster.
- Analyse end-to-end tests results.
- Run Node end-to-end tests.
- Install and use kubeadm to install, configure, and manage Kubernetes clusters.
申し込み
試験の申し込み
公式サイトから申し込みます。特に要望がなければCKA-JPで。
(試験官とのやりとりなのですが、何故かはじめ英語で途中から日本語になりました。)
https://training.linuxfoundation.org/certified-kubernetes-administrator-cka-jp/
時間帯について、自分が申し込んだ際は平日09:00~16:00の間でいくつか枠が用意されていました。
休日には枠がなかったようにみえましたが、CKADと同じくもともとないのか埋まっていたのかは不明です。
試験会場の準備
貸し会議室を借りたり会社の会議室をおさえておきましょう。カフェのようなオープンな場はNG。
試験はCKADより1時間長い3時間です。CKADと同じく事前準備等あるので前後30分くらい余裕をもっておさえておくと良いです。
端末の準備
- Chromeブラウザ
- 受験用のExtensionを事前にインストール
- Kubernetesのサイトをブックマークしておくと◎
- Webカメラ
- 自分はUSBで接続するカメラを利用しましたが、ノートPCのカメラでも可能です。
試験
試験直前の準備
- ブラウザの確認
- 試験官の指示に従って確認作業を行います。会話の必要はなく、チャットでのやりとりとなります
- 受験者の確認
- 国が発行する写真つきの証明書が必要となります。
- 自分はパスポートを利用しました。
- 国が発行する写真つきの証明書が必要となります。
- 周囲の確認
- 机の周りや下などをチェックされます
- このとき外付けカメラだと取り回しやすいです。
- 机の周りや下などをチェックされます
試験
CKADに比べて時間の余裕は結構あるようにみえます。
1問だけとばして23問解き終わった時点で、残り1時間となっていました。
Kubernetes構築の問題も出るのでLinuxのそのあたりのコマンドも使えるようになっておきましょう
systemctl start/stop/status/restart/enable [サービス名]
journalctl -u [サービス名]
あとはCKADと同じく、下記を意識すると良いです。
-
kubectl --dry-run -o yaml
などでベースを作る- 時間を節約するために。残りはvimで手直し
-
kubectl -h
でオプションを確認- ちょっとしたオプションであれば、公式サイトを検索するより早い
- はじめに
source <(kubectl completion bash)
を叩いて補間を使えるようにしておく- Pod名などの補間が効くので便利
- ctl+c/ctl+v(コピペ)はブラウザ上では使えないのでマウスでコピペ
- Ins+特定のキーでコピペ可能なようですが、変な操作をしてしまいそうだったのでマウスに
結果&おわりに
試験終了から36時間以内に結果が届くとのことで、自分の場合はCKADと同じく32時間後くらいに届きました。
結果はスコア92%で合格(74%↑が合格)。1問だけ手も足も出ない問題があったので、その分の8%マイナスの結果です。
CKA/CKADどちらも取得できたので、しばらくは本番運用に向けて諸々がんばっていきたいです。