CKD:2021のヒント、vimrc、bashrcとcheatsheet

9904 ワード

あなたは多分今あなたのために勉強を勉強して忙しいので、私は簡単にしようとします.
次のように、私は、このようなすべての他のブログ記事で見つけることができるすべての一般的なヒントを回避しようとしている間、私はCKADになることで私を助けたものを共有します.


ヒント
  • 私だけ使用kubectl apply -f YAMLファイルと相互作用するときkubectl create and kubectl replace 簡単に.
  • 試験は19時間の質問に66 %のスコアに2時間で構成されているので、あなたがまだ時間がある場合にのみ、最後にそれらを完了するように、最も難しい質問フラグを確認してください.
  • 迅速にするために試験中にブックマークを使用してください.使用するthese もの追加のブラウザタブでそれらを使用できます.
  • ハードコード化されている場合は、ドキュメントからペーストをコピーするときに名前空間を編集します.参照network policy 例えば、default 名前空間を編集しない場合.
  • 使い方を学ぶless . 私は、それにパイプK 8 s資源に非常に役に立つとわかります.例えば、
  • タイピングで検索できます/ ( vimのように).
  • 入力によって大文字小文字を区別する検索を切り替えることができます-i .

  • BASHRC
    エイリアスを定義できます.bashrc , テストの間に長いコマンドを入力する必要はありません.
    最初の行からペーストをコピーすることができますhere 試験の初めに.残りを暗記しなければなりません.
    # enable autocompletion
    source <(kubectl completion bash)
    
    alias k=kubectl
    complete -F __start_kubectl k # autocomplete k
    
    # get yaml object instead of applying the changes
    alias kd="kubectl --dry-run=client -o yaml"
    complete -F __start_kubectl kd
    
    alias ka="kubectl apply -f"
    
    # delete resources immediately
    alias kD="kubectl delete --grace-period=0 --force"
    complete -F __start_kubectl kD
    
    # delete resources immediately from file
    alias kDf="kubectl delete --grace-period=0 --force -f"
    
    # In the following, $1 is the filepath of a yaml k8s object.
    
    # vim apply. edit a file and immediately apply it.
    va() {
      vim $1
      ka $1
    }
    
    # kubectl edit. Delete the resource of a file, edit and apply it.
    ke() {
      kDf $1
      va $1
    }
    
    # kubectl replace. Delete and recreate the same resource.
    kr() {
      kDf $1
      ka $1
    }
    
    
    編集後は.bashrc コマンドを実行するsource ~/.bashrc 現在のシェルの変更を適用します.

    物材機構
    試験の初めに、あなたの編集~/.vimrc YAMLファイルを効率的に編集するには、次の手順に従います.
    set nu # set numbers
    set tabstop=2 shiftwidth=2 expandtab # use 2 spaces instead of tab
    set ai # autoindent: when go to new line keep same indentation
    
    

    シート
    ここでは、私は試験のために有用な発見命令の非常に長いリストです.
    展開を作成します
    k create deploy nginx
      --image nginx:1.16
      --replicas 4
      --port 8080 # container port
      -- ls /home # command
    
    
    PODを作成します
    k run nginx
      --image=nginx
      --restart=Never
      -l="key1=value1,key2=value2" # multiple labels
      --env="COLOR=blue" --env="KEY3=val3" # multiple environment variables
      --port=5701 # container port
      --expose # create a ClusterIP service
      --rm -it # delete the pod after completed and open a terminal
      -- /bin/sh -c "while true; do date; sleep 10; done" # command
    
    
    既存の配備を公開する新しいサービスを作成します
    k expose deploy test
      --port=80
      --target-port=8000
      --type NodePort # optional
      --name my-service
    
    
    新しいサービスを作成します
    k create svc clusterip pod-name # service with app=pod-name as label
      --tcp=6379:6379 # <port>:<targetPort>
    
    k create svc nodeport pod-name
      --tcp=80:80 # <port>:<targetPort>
      --node-port=30080
    
    
    ジョブを作成
    k create job nginx
      --image=nginx
      -- /bin/sh -c 'counter=0; \
         while [$counter -lt 3]; do counter=$((counter+1)); \
         sleep 3; done;'
    
    
    cronjobを作成します
    k create cj nginx
      --image=nginx
      --schedule="* * * * *"
      -- /bin/sh -c 'echo "current date: $(date)"'
    
    
    設定マップを作成する
    k create cm app-config
      --from-literal=key123=value123
    
    k create cm app-config
      --from-env-file=config.env # single file with environment variables
    
    k create cm app-config
      --from-file=config.txt # single file or directory
    
    
    クリエイトシークレット
    k create secret generic my-secret
      --from-literal=foo=bar
    
    # you also have the other options as above for the configmap
    
    
    秘密を解読するecho "YmFy" | base64 --decodeサービスアカウントの作成
    k create sa my-sa
    
    
    配備のイメージをオーバーライドします.
    k set image deploy my-deployment my-container-name=nginx:1.9.1
      --record # save the "CHANGE-CAUSE" in the deployment history
    
    
    POD :
    k get po
      -l color=green,app!=my-app # label equality filter
      -l 'color in (green, red)' # label set filter
      -l 'color notin (green, red)' # notin filter
      -l 'color exists' # exists filter
      --show-labels # show all labels
    
    
    ロールアウト:
    k rollout status deploy nginx
    
    k rollout history deploy nginx
      --revision=1 # specify revision (optional)
    
    k rollout undo deploy nginx
      --to-revision=1 # optional
    
    
    5秒のタイムアウトでclusteripで露出したpodにアクセスする方法
    k run busybox --image=busybox --restart=Never -it -- /bin/sh
    # wget -O- 10.96.32.32:80 -T 5
    
    
    オープンポッドシェル
    k exec -it my-pod -- /bin/sh
    
    
    リソースクォータ作成
    kubectl create quota myrq --hard=cpu=1,memory=1G,pods=2
    
    
    ビュードキュメント
    k explain pods.spec
    
    
    すべてのイベントを取得します.
    k get events --sort-by=.metadata.creationTimestamp
    
    
    ラベルを変更する
    k label nodes my-node color=blue # add a label to node
    k label pod my-pod region=eu # add a label to pod
    k label pod my-pod region=us --overwrite # edit a label
    k label pod my-pod region- # remove a label
    
    
    注釈を変更する
    k annotate ... # (same usage as k label)
    
    
    同じコンテキスト内のすべての以降のKubectlコマンドの名前空間を編集します
    k config set-context --current --namespace=core-banking
    
    
    水平ポッドAutoscaler :
    k autoscale deploy my-deploy
      --cpu-percent=70 # sum of the cpu percentages used by all the pods that needs to be reached for the hpa to start spinning other pods
      --min=2 # min number of pods
      --max=8 # max number of pods the HPA can scale
    
    k get hpa
    
    
    汚れ
    # apply taint
    k taint nodes my-node my-key=my-value:NoSchedule
    
    # remove taint
    k taint nodes my-node my-key=my-value:NoSchedule-
    
    

    理論
    私はCKADを見てCKADのために勉強したcourse Mumshad Mannambethは、単に素晴らしいですし、非常に便利なラボも含まれています.私もCKADを読むbook オライリーから、私もあなたが書く資源を望むならば、私は推薦します.

    実践
    これはハンズオン試験ですので、もちろんたくさん練習する必要があります.これらはいくつかの有用なリソースです.

  • https://medium.com/bb-tutorials-and-thoughts/practice-enough-with-these-questions-for-the-ckad-exam-2f42d1228552
  • https://github.com/dgkanatsios/CKAD-exercises
  • 完了したら、これらのとCKADコースのラボを完了すると、おそらく試験の準備ができます.

    ショートカット
    時間は貴重です!そのフルネームの代わりにK 8 Sリソースの対応するショートカットを使用してください.
    フルネーム
    ショートカット
    コンフィギュレーション
    CM
    名前空間
    NS
    persistentvolumeclaims
    塩化ビニル
    永続的体積
    PV
    ポッド
    po
    サービスアカウント
    sa
    サービス
    SVC
    展開
    配備する
    レプリカ
    RS
    ホライゾン
    HPA
    クロンジョブ
    CJ
    仕事
    秘密
    ネットワークポリシー
    ネットポール
    Resourceequotas
    クォータ

    仕事を確かめる
    あなたがした後(または時間の短いとき)あなたは何をやったかを確認する必要があります.
    まず第一にk get po --all-namespaces すべてのコンテキストですべてのPODが実行されていることを確認します.
    その後、すべてのリソースが正常に適用されたかどうかを確認できます.
  • 設定マップと秘密k exec my-pod -- env
  • k exec my-pod -- ls /mount/volume/path
  • サービスk get ep

  • 結論
    認証のための総合的な準備は本当に役に立ちました、そして、試験自体は本当に実用的です、それで、私はそれを非常に推薦します!🤓
    私が与えることができる最も重要なヒントは、次のとおりです:私はおそらくそれについては、おそらく99 %の得点を終了練習した.スコアはあなたのために重要ではない(スコアは、認証の任意の場所に書かれていない)場合は、少し自信を感じてそれを試してください!注意:あなたは2つの試みを持っている!
    あなたの試験で幸運:滞在穏やかでフォーカス✌