Kubernetes 인증 시험 팁: 2020년 CKA 및 CKAD

UPDATED 05/05/2020: Updated a handful of links based on the April 2020 changes to both exams, having moved to Kubernetes v1.18.x

UPDATED 02/03/2020: Updated a handful of links based on the January 2020 changes to both exams, having moved to Kubernetes v1.17.x


나는 Kubernetes을 배우고 싶은 지 이미 한참이 되었다.Linux Academy 덕분에 Cloud Native Computing Foundation에서 제공하는 두 가지 Kubernetes 인증을 받았습니다.
  • Certified Kubernetes Administrator (CKA)
  • Certified Kubernetes Application Developer (CKAD)
  • Linux Academy는 제가 사용한 몇 안 되는 교과서 사이트 중 하나입니다. 이것은 여러 해 동안 많은 다른 사이트를 사용한 후입니다.나는 특히 그들의 운동장과 실험실을 매우 좋아한다.나는 그 인증 과정들을 강력히 추천한다.
    만약 첫 번째 시험이 계획대로 진행되지 않았다면 두 번 모두 공짜 재시험 증명서가 한 장 있을 것이니 반드시 한번 보아야 한다.
    다음은 제가 준비한 과정입니다.
  • Linux 학원 과정: Kubernetes Essentials
  • Linux 학원 과정: Certified Kubernetes Administrator (CKA)
  • Linux 학원 과정: Certified Kubernetes Application Developer (CKAD)
  • 우수한 수업 내용을 만들었다.

    시험 안내


    혼자 시험 보고 싶어요?문답이 아니라 상호작용적이고 임무 기반 시험입니다. Linux Academy 과정에 대한 저의 조언 외에 다음은 저의 성공을 돕는 요소입니다.

    운원생 기금회에서 온 자원


    CKA / CKAD Candidate Handbook은 시험의 업무 방식과 예상한 지식을 개술하였다.시험 환경에서 사용할 Kubernetes 버전도 포함됩니다.현재 매뉴얼에 따르면:

    The clusters comprising the exam environment are currently running Kubernetes 1.18


    Cloud Native Foundation에도 PDF에 대한 중요한 힌트가 있습니다. 보고 싶을 수도 있습니다.이것은 내가 참가한 시험의 최신 버전이다. Exam Tips for CKA and CKAD, Kubernetes v1.18.x
  • 그들은 또 하나의 흔한 문제 문서를 가지고 있다. CKA and CKAD Frequently Asked Questions
  • 공식 Kubernetes 파일


    쿠베르네츠의 공식 문서 사이트를 쉽게 조회하는 방법을 알아보세요.시험 기간에 사용할 수 있기 때문에 io/docs.만약 당신이 해결 방안을 제공하지 않은 상황에서 인증 준비 과정의 모든 수동 실험을 혼자서 완성할 수 있다면 당신은 준비가 될 것입니다.Linux Academy에서 제공하는 솔루션에 도움을 요청하기 전에 공식 문서를 사용하십시오!
    공식 문서 https://kubernetes.io/docs/tasks/ 섹션의 많은 예제에는 YAML 템플릿 링크가 포함됩니다.나는 그것들로 몇몇 시험 목표를 가속화시켰다. 방법은 마우스 오른쪽 단추로 -> "링크 주소 복사"->를 클릭한 다음 wget <yml-source-url>으로 나의 시험 단말기에 붙여넣기 ->하고 거기에서 템플릿을 편집하는 것이다.내가 어떤 것들의 문법을 기억하지 못할 때, 혹은 내가 단지 기초 템플릿을 신속하게 그려서 그곳에서 편집하고 싶을 뿐이라면, 이것은 나에게 매우 도움이 된다.
    # CREATING PERSISTENT VOLUMES,
    #   AND PERSISTENT VOLUME CLAIMS,
    #   AND MOUNTING PVCS IN PODS
    # Search the docs:
    ## https://kubernetes.io/docs/search/?q=persistent+volume
    # Look for https://kubernetes.io/docs/tasks/ URLs
    # From: https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/
    
    # Persistent Volume YAML
    wget https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/pods/storage/pv-volume.yaml
    
    # Persistent Volume Claim YAML
    wget https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/pods/storage/pv-claim.yaml
    
    # Pod using Persistent Volume Claim YAML
    wget https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/pods/storage/pv-pod.yaml
    
    # pv-volume.yaml
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: task-pv-volume
      labels:
        type: local
    spec:
      storageClassName: manual
      capacity:
        storage: 10Gi
      accessModes:
        - ReadWriteOnce
      hostPath:
        path: "/mnt/data"
    
    # pv-claim.yaml
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: task-pv-claim
    spec:
      storageClassName: manual
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 3Gi
    
    # pv-pod.yaml
    apiVersion: v1
    kind: Pod
    metadata:
      name: task-pv-pod
    spec:
      volumes:
      - name: task-pv-storage
        persistentVolumeClaim:
        claimName: task-pv-claim
      containers:
      - name: task-pv-container
        image: nginx
        ports:
          - containerPort: 80
            name: "http-server"
      volumeMounts:
      - mountPath: "/usr/share/nginx/html"
        name: task-pv-storage
    
    # Deploy them all
    kubectl apply -f pv-volume.yaml
    kubectl apply -f pv-claim.yaml
    
    # Ensure pv-claim has status of 'Bound'
    kubectl get pvc
    
    # Create the pod
    kubectl apply -f pv-pod.yaml
    
    나는 거의 모든 가능한 문제에 YAML 설정을 사용했고, 전체 시험 과정에서 내비게이션을 할 수 있도록 문제 번호로 이름을 지었다.예: 문제 4가 공개nginx 서비스에 관한 것이라면 04-nginx-svc.yml이라는 이름과 유사합니다.만약 뒤의 문제에서 YAML에 이름 공간이 부족하다는 작은 세부 사항을 잊어버렸다는 것을 깨닫게 된다면 이것도 도움이 될 것입니다!
    배포, 서비스, pv, pvc 등과 같은 유사한 구성 요소를 사용하는 작업이 많기 때문에 템플릿 파일을 복사하여 편집하면 됩니다.
    cp 12-deployment.yaml 13-deployment.yaml # Copy
    vim 13-deployment.yaml # Tweak
    kubectl apply -f 13-deployment.yaml # Deploy
    
  • 은 템플릿 생성을 간소화하는 kubectl exposekubectl create 명령에 익숙합니다.kubectl run 명령은 일부 생성기가 점점 사용되고 있지만, 템플릿을 만들 수 있기 때문에 호출할 수 있습니다.
  •   # EXAMPLES
      # ConfigMaps
      kubectl create configmap poxy-cfg --from-file=config.txt
    
      # CronJob: This runs once a minute, merely runs 'date'
      kubectl create cronjob date-check --image=busybox --schedule='*/1 * * * *' -- date
    
      # Tagging this to the end of
      # kubectl create // kubectl expose // kubectl run
      # commands can output a great template as a starting place
      # <cmd> --dry-run -o yaml > template.yaml
    
      # Deployment w/ kubectl run
      # Works in k8s v1.16.x
      # Deployment generator will be deprecated in the future
      kubectl create deploy nginx-deploy --image=nginx --env="CONFIGPATH=/etc/myconfig" --port=80 --replicas=3 --dry-run=client -o yaml > nginx-deploy.yaml
    
      # Deployment example; not deprecating
      kubectl create deployment my-deployment --image=nginx --dry-run -o yaml > deployment-test.yaml
      vim deployment-test.yaml
    
      # Pod creation with kubectl run w/ lots of stuff
      # NOT deprecating!
      kubectl run nginx-pod --generator=run-pod/v1 --image=nginx --env="CONFIGPATH=/etc/myconfig" --port=80 --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi --dry-run -o yaml > nginx-pod.yaml
    
      # See all kubectl run options
      kubectl run
    
      # Service example
      kubectl expose deployment/my-deployment --target-port=80 --type NodePort --dry-run -o yaml > service-test.yaml
      vim service-test.yaml
    
      # nginx-pod.yaml created by kubectl run nginx-pod ... above
      apiVersion: v1
      kind: Pod
      metadata:
        creationTimestamp: null
        labels:
          run: nginx-pod
        name: nginx-pod
      spec:
        containers:
        - env:
          - name: CONFIGPATH
            value: /etc/myconfig
          image: nginx
          name: nginx-pod
          ports:
          - containerPort: 80
          resources:
            limits:
              cpu: 200m
              memory: 512Mi
            requests:
              cpu: 100m
              memory: 256Mi
        dnsPolicy: ClusterFirst
        restartPolicy: Always
      status: {}
    
  • 에는 실험실 환경이 있습니다. 그 중에서 시종일관 창설, 수정, 확장 및 삭제 노드,pod, 배치, 서비스 등을 할 수 있습니다.metrics 서버도 설정할 수 있습니다!시험을 준비할 때 연속적인 체험에 비견할 만한 것은 없다.이것은 Linux Academy의 추가 장점입니다. 그들은 실험실 환경이 있기 때문에 그들의 지도하에 쉽게 설정할 수 있습니다. 추가 구독 비용이 필요하지 않습니다.구독이 없으면, 실험실 환경에 가장 적합한 방법을 찾으십시오.
  • 세 시간의 CKA와 두 시간의 CKAD는 긴 창처럼 보일 수 있지만 시간은 쏜살같이 지나간다.나는 CKA를 다시 시험해야만 했다. 왜냐하면 시험은 내가 마지막 몇 문제를 대답할 수 있기 전에 끝났기 때문이다.기본적으로 이것은 심각한 실점이다.고맙게도 무료 재시험은 내가 시험에 통과할 수 있도록 도와주었고 위의 힌트도 있었다.CKAD가 있어서 2분 만에 마지막 문제를 완성했습니다.시간을 주의해라. 만약 문제가 오래 걸릴 것 같거나, 어떻게 대답해야 할지 확실하지 않다면, 이 문제를 건너뛸 수도 있다.시험 노트나 로컬 파일(예: vim skipped.txt)에 어떤 질문에 대답하지 않았는지 기록하면 나중에 되돌아갈 수 있습니다.
  • 은 문제를 배제할 때 --all-namespaces 파라미터를 사용합니다. 이것은 모든 잠재적인 문제를 보는 데 도움이 되기 때문에 이름 공간의 위치에 상관없이 볼 수 있습니다.이 밖에 전체 시험에서 -n <namespace> 파라미터를 사용하는 것을 기억해라.내 자신의 이성을 위해서 나는 항상 YAML 템플릿의 .metadata.namespace 속성을 사용한다. 이렇게 하면 나는 이후에 kubectl apply -f template.yaml -n <namespace>을 실행했는지 안 했는지 기억할 필요가 없다.
  • 기타 리소스


    나는 지역 사회에서 온 다른 건의를 보았는데, 이 건의들은 다른 사람들에게도 도움이 되고, 나는 이곳에서 언급할 가치가 있다고 생각한다.

    링크

  • Kubernetes Slack 작업 구역에 가입하여 지역사회
  • 과 상호작용
  • CKAD Exercises

  • Kubernetes Certified Administration: GitHub의 우수한 자원 수집
  • Kubernetes The Hard Way
  • kubectl Cheat Sheet
  • Logz.io는 아주 좋은 블로그 글을 썼습니다: A Master List of Resources for Learning Kubernetes

  • CKA/CKAD Simulator - killer.sh: 비록 이것은 유료 서비스이지만, 수험생으로부터 이것은 매우 유용한 시험 준비 서비스라고 들었습니다.

    기타 개발 기사


    아이템 더 이상 사용 불가




    토론


    시험 과정에 무슨 문제가 있습니까?아니면 너도 시험에 참가했는데, 추가 건의를 포함하고 싶니?아래의 토론에 참여해 주십시오!
    2020년 1월 10일 기준 https://icanteven.io
  • 좋은 웹페이지 즐겨찾기