認定Kubernetesアプリケーション開発者(CKAD)試験についてのヒント


Kubernetesとの仕事の数年後、私は首尾よく証明されたKubernetesアプリケーション開発者(CKAD)認定試験に合格した.
何人かの人々は私にそのことについての記事を書くように頼んだので、ここでは、CKADといくつかのヒント&Catad試験についてのトリックは何かについての簡単な記事.

CKAD


まず第一に、CKADは何ですか?

CKADは、それの不条理ですCertified Kubernetes Application Developer , Linux財団による開発者向けのKubernetesに関する認証.
証明されたKubernetesアプリケーション開発者は、アプリケーションリソースを定義することができて、Kubernetesでスケーラブルなアプリケーションとツールを構築して、モニターして、トラブルシューティングするために、コアプリミティブを使うことができます
他の証明書と同様に、あなたがそれをパスする場合は、300ドル(または割引コードを持っている場合-以下)を支払う必要があります.
認証は3年(36ヶ月)の有効期間があることに注意してください.

試験内容


もちろん、Kubernetes証明書の内容は、最後のKubernetes版に従いますので、私がこの記事を書くとき、現在のバージョンは1.18です.
によるとCNCF open-sourced curriculum of the exam , Kubernetes 1.18バージョンについては、試験の内容は以下の通りです.
  • 13 % -コアコンセプト
  • 18 % -設定
  • マルチコンテナポッド
  • 18 % -観測可能性
  • 20 % -ポッドデザイン
  • 13 % -サービス&ネットワーク
  • 8 %-状態持続性
  • 具体的には、2時間最大19の質問に答える必要があります.
    すべての質問は、それぞれの独立しているすべての質問の幅/サイズを持っているので、最初に大きなサイズの質問に集中することができます.
    試験中に質問をすることができますフラグをしたい.この便利な機能のおかげで、現在の質問をスキップすることができますし、最近に戻ってください.

    有益な情報


    //\警告:あなたのChromeのブラウザの凍結&あなたがそれを閉じて、再度開く必要がある場合は、パニックしないでください、すべてのあなたの仕事が保存されますが、あなたのフラグ付きの質問は(これは私に起こった…).
    試験の前に、スケジュールされた日付と時刻の15分前にログインすることができます.
    審査員は自分自身とデスクトップをすべての時間を確認する必要がありますので、彼はチャットで尋ねるすべてに従って、パスポート/IDカードを準備することを忘れないでください.
    あなたは、閉じられた部屋(単独でCATが許されます:- d)にいる必要があります.
    残念ながら、失敗した場合は、無料のリテイクがあります.
    Chromeブラウザの2つのタブだけを使用することができます.
  • 試験のためのもの
  • 公式Kubernetes博士のためのもう一つ
  • だから、試験前に他のアプリや他のタブを閉じることができます.
    あなたは(あなたの口を隠すとSmartWatch ^^を着用)を大声で話すことを許可されていません.
    あなたは試験中に休憩を要求することができますが、タイマーは停止しません.
    環境では、メモ帳を表示する可能性がある、それはいくつかのメモを取るのに役立つことができます.

    練習、実践、練習!


    この試験に合格するために最も重要なアドバイスは、Kubectl Cliをたくさん練習することです!
    この試験は、理論的な試験ではない、Kubecnetesクラスタと名前空間でKubectlコマンドを具体的に質問に答える必要があります.
    コマンドラインとYAMLマニフェストで「流暢」で高速にする必要があります.
    そして、あなたは知っている必要がありますKubernetes official documentation (開いている他のchromeタブのみ).

    私の個人的なアドバイス

  • 用意して!
    あなたの仕事にKubernetesを使用しても、あなた自身を訓練するために数日かかる.
  • あなたのKubectlコマンドを書くためにまっすぐに質問の全体を読んでください.
  • 良いクラスタ/コンテキストに移動するには、コマンドを貼り付けコピーを忘れないでください.あなたは、質問に書かれたコマンドをペーストすることができます.
  • 少なくとも1日前に試験を行い、使用しないことkubectx and kubens コマンドですが、名前空間を暗記するコマンドを知る必要があります.
  • クラスタ/コンテキストに切り替えます.$ kubectl config use-context my-cluster実際の/現在のクラスタを表示します.$ kubectl config current-context名前空間に切り替えます.$ kubectl config set-context --current --namespace=my-ns個人的には、試験の間、私は-n my-ns 各コマンドのために、私は私がしていたことを確信していました、そして、どこで、私は私の命令を実行していましたか.
  • お使いのパソコン/VM/環境には、必ずエイリアスがあります.あなたは実際の条件でそれらを持っていないでしょう.それで、あなたのk get po or kgpo エイリアス.
  • 短いリソース名を知り、使用します.

  • $ kubectl get/create po (instead of pod or pods)
    $ kubectl get/create cj (instead of cronjob)
    $ kubectl get/create deploy (instead of deployment)
    $ kubectl get/create rs (instead of replicaset)
    $ kubectl get/create svc (instead of service)
    $ kubectl get/create cm (instead of configmap)
    $ kubectl get/create hpa (instead of horizontalpodautoscaler)
    $ kubectl get/create sa (instead of serviceaccount)
    $ kubectl get/create pv (instead of persistentvolume)
    $ kubectl get/create pvc (instead of persistentvolumeclaim)
    ...
  • ラベルを追加または削除する必要がある場合は、podや展開を編集しないでくださいkubectl label コマンド.
  • 例:
    私のラベルにラベルを加えてください.$ kubectl label pod my-pod my-label=my-value私のポッドpodでAラベルラベルを削除してください$ kubectl label pod my-pod a-label-でも.どうやってポッドのラベルを知っている?$ kubectl get po --show-labels
  • Kube 1.18では、1つのコマンドラインでメモリの制限とリクエストを持つpodで3つのレプリカを展開できません.
  • まず、展開を作成し、YAMLマニフェストファイルでそれをエクスポートします--dry-run -o yaml コマンド.
  • それから、pod作成のために同じことをして、もう一つのファイルまたはstdoutでそれを輸出してください.
  • 最後に、展開マニフェストファイルにコピーペーストコンテナをコピーします.
  • 注意:--dry-run Kubernetes 1.18では廃止されますが、まだ使用できます.1.18では、代わりに使用することをお勧めします--dry-run=client オプション.
  • 用途kubectl explain 仕様情報を表示するコマンド
  • $ kubectl explain job.spec $ kubectl explain pod.spec.containers.readinessProbe
  • あなたがコマンドの始まりを知っているが、残りの疑いを持っているならば、使用してください-h オプション.
  • 例:
    私はbashイメージでcronjobを作る方法を知っていますが、スケジュールを定義する方法に疑問があります.$ kubectl create cj bash --image=bash -h
    Create a cronjob with the specified name.
    
    Aliases:
    cronjob, cj
    
    Examples:
      # Create a cronjob
      kubectl create cronjob my-job --image=busybox
    
      # Create a cronjob with command
      kubectl create cronjob my-job --image=busybox -- date
    
      # Create a cronjob with schedule
      kubectl create cronjob test-job --image=busybox --schedule="*/1 * * * *"
    ...
    
    ああクール、ヘルプのおかげで/マニュアル私は知っている--schedule="xxx" 形式
  • 公式Kubernetesドキュメンテーションを知っていて、検索するyourelfを訓練してください.
  • 試験環境では、あなたの素敵なIDEを使用することはできませんので、実際のvivi cheat sheet ) あなたがそれを知らないならば.
  • あなたは試験(例えば1.18)の同じバージョンでクラスタ内のコマンドを練習する必要があります.
  • 資源


    試験の前に練習するには、severalsリソースが存在し、私はこの記事に記載しました.
  • Kubernetes CKAD実例試験問題実用的な挑戦シリーズ
    https://codeburst.io/kubernetes-ckad-weekly-challenges-overview-and-tips-7282b36a2681
  • CKADの練習問題
    https://github.com/bbachi/CKAD-Practice-Questions/blob/master/core-concepts.md
  • Kubectl 1.18 CKAD/CKAで高速になります.
    https://medium.com/faun/be-fast-with-kubectl-1-18-ckad-cka-31be00acc443
  • キラー.sh
    お支払いしたい場合はkiller.sh . それは、2時間で解決する20の質問/シナリオで、試験に類似した環境でのCKAとCKADシミュレータです.
  • 個人的には「キラー・SH」を使わなかった.私は模擬試験の支払いをしたくなかったが、私はそれを使用し、実際の前にテスト試験に合格する可能性を愛する人々を知っている.

    結論


    他の試験と同様に、準備する.たとえあなたがKubernetesを知っていて、あなたの毎日の仕事でそれを使うと思うとしても.それはあなたが高速にする必要があるので、理論の試験ではない.
    Kubernetesは進化しているので、新しい機能がリリースされ、クラスタを更新するときに新機能を認識する.
    あなた自身の個人的なトリックを成功させるためにこの試験を持っている場合は、コメントでそれらを共有することを躊躇しないでください.