killer.sh(CKA Simulator)をやってみた感想

kubernetes

はじめに

Linux Foundationにて、CKA受検資格を購入すると2回分のKiller Shellでの模試がついてくる。

実際に解いてみたので全体的な所感と各問題の概要を書く

問題文は記載していないので大丈夫でしょう

全体的な所感

各問題はそこまで難しくないがとにかく時間が足りない。本番でも少しでも悩んだらとりあえず次の問題に取り掛かることが大事だと思い知らされる。

もしくは、もっと早く解けるようになるまで理解度を深める必要があると感じた。本試験は1月末受験予定だが、少し不安になったw

問題の中には嫌らしいなと感じる問題もあった。「StaticPodを削除せよ」とあったので何か方法があるのかと邪推したら、シンプルに/etc/kubernetes/manifestから移動させるだけだったw

CKA学習教材として評判の良いUdemyの「Certified Kubernetes Administrator (CKA) with Practice Tests」をやっていれば基本的に問題ないと感じたが、
ヘルスチェックやAffinityは+αで知っておくべきかも。

また、採点について大問ごとに正誤ではなく、細かく採点がポイントがあったのだが本番も同様なのだろうか。

各問題

  1. contextsを取得する問題
    kubectlで取得する方法と~/.kube/comnfigを見る方法
    shの問題になっていた。名前だけ取得するのに時間がかかった
  2. コントロールプレーンにpodを配置する問題
    nodeSelectorとtolerationを駆使する必要があった
    コントロールプレーンにtaintが付与されているので。
  3. Podをスケールダウンする問題
    StatefulSetであることを気づく必要があった
  4. Podを作成する問題
    livenessProbeとReadinessProbeが登場
    Readiness Probe=コンテナがトラフィックを受け入れられる状態であるかを認識
  5. ソートしてpod一覧を取得する問題
    簡単
  6. PV、PVCの作成
    特徴なし
  7. メトリクス取得問題
    containersのメトリクスも取得する必要があったこと
  8. コントロールプレーンの情報を取得する問題
    基本的な情報を知っていれば余裕
  9. 手動でpodを配置する問題
    schedulerを削除するのはシンプルに/etc/kubernetes/manifest配下のファイルを移動させることだったのがいやらしかった
    手動でpodを配置する場合は「nodeName」を指定
  10. RBACの問題
    特徴なし
  11. DeamonSet作成問題
    コントロールプレーンに配置するためにtolerationが必要
  12. DeamonSetみたいなDeployment作成問題(難)
    podAntiAffinityもしくはtopologySpreadConstraintを使う必要あった
  13. マルチコンテナーのPodを作成問題
    pod情報をfieldRefによって取得
  14. クラスタ情報を取得する問題
    コントローンプレーンのapiServerの情報みたり、ネットワークのCNI名とファイルを取得する必要あり
  15. イベントを取得する問題
    kubectl get eventsというコマンドがある
    podやコンテナを殺してログをみる
    コンテナはプロセスIDを特定する必要があった
  16. api-resource取得、一番Roleの多いnamespace取得問題
    k api-resources –namespaced -o name
  17. crictlを駆使する問題
    crictlはコンテナの情報を取得するのによく使う
  18. kubelet修復問題(難)
    シンプルにsystemctl statusで状態調べる
    Drop-Inでconfファイルの場所を特定
    配置ファイルはこれ /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
    kubeletの配置先が間違っていた
  19. Secret取得問題(難)
    sleepしなきゃいけない謎
    busyboxだから参照する前に消える?
  20. kubernetes nodeのアップデートとjoin
    joinをする必要あり
  21. StaticPod作成問題
    特徴なし
  22. 証明書の期限を取得する問題
    openssl x509 -noout -text -in XXX このコマンドはドキュメントを探せば載っている
    更新は kubeadm certs renew apiserver
  23. cert情報取得
    22と似ている
  24. NetworkPolicy作成問題
    特徴なし
  25. etcd操作問題
    バックアップとリストアの基本的な問題