티스토리 뷰

쿠버네티스

cka 준비 팁

killog 2022. 10. 3. 10:14
반응형

intro

cka 자격증

이번에 cka를 땄습니다.
예, 영롱하네요... 이번에 cka 라는 영어로된 쿠버네티스 공인 시험을 준비하면서, 생생한 기억으로 팁을 적어보겠습니다.
시험비 자체를 40만원 조금 넘게 낸 것 같네요,, 후,,, 붙어서 다행입니다.
쿠버네티스자격증 준비하시는 분들 화이팅입니다!

시험 준비 팁

  • 유용한 블로그 :
  • 실제 북마크했던 목록. 이제 시험에서 쓸 수 없지만, 키워드 숙지에 좋았다.

북마크 목록

기초 다지기

  • 기초 다지기 전에 리눅스재단 해당 링크 미리 가입해놓고, 구독해놓자. 상시 열려있는 15프로 할인 쿠폰 찾으면 있지만(저에욤 ㅎㅎ) , 블랙프라이데이 하면 50프로 할인기간에 살지도 모른다. 구독해놓고, 세일한다는 메일을 잘 염탐해서, 잘 사자!( 가입한다고, cka 시험산다고 바로 시험을 치는게 아니라, 한 1년 안에 치면 되니까 겁먹지 말자)
    • 50% 못찾았다고? 제 돈내고 시험 구매하면 바보다! 할인쿠폰을 찾아라
  • 강의는 유데미 강의

시험 등록하기

  • 시험 스케줄은 당일 예약이 안된다. 일주일 정도 전에 예약이 가능하다.
  • killer.sh 를 이용하라.
    • cka 산 계정의 경우 2개의 무료 대시보드가 제공된다.
    • 이용 후에도 만원 정도 비용의 대시보드를 추가 구매 가능하다.(타 계정의 경우 더 내야함)
    • 오답노트할때는 "나는 다음에 이 문제 봤을때, 무슨 키워드로 이렇게 검색해서 풀것이다." 를 정리하라.
    • 세션 시작하고, 2시간 이후 시험 끝난 이후에도, 해당 세션을 이용할 수 있으니까, 남은 세션 시간 날리지 말고, 쿠버네티스 환경에서 직접 조작하고, 실험하는 것도 아주 좋다.
    • 커트라인 66점! killer.sh 에서 66점 받기전까진 시험 치지 마라!
      • 다른 블로그글 보면 killer 가 너무 어렵다 1.5배다 하는데, 글쓴이 체감상 1.01배 정도였다. 이만큼 실전에 체화된 대시보드가 없으니, 하나하나 아껴서 세션 쓸것
  • 실제 브라우저를 이용하는 것이 아닌, 제공해주는 PSI 브라우저 라는 프로그램 (사파리 브라우저 + 터미널 기반 프로그램)을 이용해야한다. 그렇기 때문에, 우리가 생각하는 단축키와 다르게 동작하는데, 맥북기준
    • 브라우저 복사 : Ctrl + c
    • 터미널 붙여넣기 : Ctrl + shit+ v
    • 브라우저 검색 : Crl + f (killer.sh 에서만 동작하고 실제 시험에서는 동작안함)
    • 가 내 환경에서 복사 붙여넣기 였다.
    • 아주중요하다. killer.sh 에서 자기 복붙 키와 브라우저 검색 이것만큼은 숙지하고 가라! 이거만큼 시간을 아끼는 길이 없다.
    • 다 동작 안하면 우클릭 복붙도 다급하면 쓰는데, 테스트 해본 결과 클릭해서 복붙은 확연히 느리다.

시험 환경 팁

  • 시간이 부족하다.
    • 120분 시험이다.(10시에 시험이라 하면 9시30분에 들어가서 psi 브라우저, 여권 등의 세팅 다해서, 이후 시간을 사용하지 않는다는 가정하에)
    • 120분 시험에 20문항이라는 뜻은 한문제에 4분 이내로 풀어야하고, 어려운 문제나 설치문제에 시간을 더 써야한다는 것이다.
    • 나의 경우는, (시험문제로 돌아오고, 헷갈림 방지를 위해) 문제마다 <문제문항>으로 디렉토리를 만들고 status 라는 파일에 풀기 시작한 분을 적어놨다. (78분에 시작했으면, echo 78 > status ) 나중에 내가 이 문제에 할당한 시간을 알 수 있다.
    • 문제 풀기 시작한 시간을 미리 체크해라! 문제가 20문제면 한문제당 5분 이상 투자하면 안된다. 항상 시간이 부족하니, 한 문제에 집착하지 마라!
  • context 잘 지정하자. 그거로 틀리면 바보다.
  • cka 시험 푸는 프로그램에서는 문제에 해당하는 태그에 도큐먼트를 링크로 달아준다. 그것을 이용하는 것도 좋다.
  • 면접관에게 질문을 하지 마라! (시간에서 크게 낭비. 크게 해결해주지 않는다.(면접관 질문 -> 면접관이 시설에 전화하라고 함 -> 시설에 전화를 걸면 영어로 솰라솰라하고 다른 곳으로 연결... ) killer.sh 를 맹신한다.)
  • 여권이 없으면 고생한다. (민증과 신용카드로 해야한다는데 시도조차 안해봄)
  • 남들이 나왔다고 하는 문제? 똑같이 나온다. 새겨들어라.
  • 나중에 머리 아프기 싫으면 복붙을 쓰고, 탭 쓰지 마라!!!!!!! 탭으로 생긴 에러는 무조건 5분 이상 디버깅해야한다.
  • k run , $do 를 애용해라. 시간 줄이는 것이 살길이다. 파드 지울때는 무조건 --force 로 지워서 시간을 아낀다. (백업이 필요한 경우 미리 get pod -o yaml 로 백업해놓는다는 가정하에)
  • 대부분 -h 이용하면 다 사용 설명서 나온다. 직접 yaml 작성할 생각 말고, 우선 명령어로 바로 작성되는지 확인하고, yaml 작성해라.
  • 은근 nodeName이런거도 알면좋다.
  • 재시험? 생각보다 가깝다. 문제 풀면서, 문제 키워드라도 기억해라!
  • 문제를 풀고 오답을 할땐, "무엇을 검색해야 답에 도달하는가" 라는 "키워드 숙지"에 힘을 써라.
  • 항상 띄워놓는 창 : https://kubernetes.io/docs/reference/kubectl/cheatsheet/
  • 항상 이용하는 alias

alias k=kubectl    

# short alias to set/show context/namespace (only works for bash and bash-compatible shells, current context to be set before using kn to set namespace)

# short alias to set/show context/namespace (only works for bash and bash-compatible shells, current context to be set before using kn to set namespace) 
alias kx='f() { [ "$1" ] && kubectl config use-context $1 || kubectl config current-context ; } ; f'
alias kn='f() { [ "$1" ] && kubectl config set-context --current --namespace $1 || kubectl config view --minify | grep namespace | cut -d" " -f6 ; } ; f'


export do="--dry-run=client -o yaml"

# 이용 : kubectl run nginx --image=nginx $do > pod.yaml

  • deploy 로 구현하는 daemonset 은 Pod Topology Spread Constraints
  • 키워드 : engress 와 ingress 의 차이
    • 일반적으로 ingress 는 외부에서 서버 내부로 유입되는 트래픽의미한다.
    • engress는 서버 내부에서 외부로 나가는 트래픽을 의미한다.
  • emptyDir : 파드 내에서 컨테이너 죽어서 부활해도 접근 가능 한것 vs hostPath: 노드 내 path

무조건 나오는 기출

  • service account (혹은 user) + role + rolebinding
  • etcd backup & restore
  • kubelet 상태 확인및 복구 : https://kils-log-of-develop.tistory.com/810
  • pv,pvc, volume mount (emptyDir or hostPath) & secret
  • cluster node drain & uncordon & upgrade + (kubeadm token & join ) : https://kils-log-of-develop.tistory.com/809
  • 자원 나열, Pod 나열 ( 정렬, 아웃풋 )
  • trouble shooting(? 나왔던 거 같은데 잘 기억안남)
  • rescale again
  • sidecar : 파드 안에서 emptyDir 로 볼륨 만들고 , 각각 두컨테이너에 마운트 시켜서, 하나는 로그쓰고, 하나는 로그를 읽는 역할
  • svc expose
  • networkPolicy : ingress, engress ( 2문제 나왔음)
kubeadm token create --print-join-command
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함