Featured image of post CKA 시험 후기

CKA 시험 후기

CKA (Certified K8s Administrator) 를 2021년 12월 말에 합격 통지를 받았다. 합격을 받고 나서 정리한 팁을 공유하고자 한다.

강의

매우 유명한 Udemy 의 Mumshard 강의를 완강했다. 내가 너무 초보여서 그런지는 몰라도, 기초 강의도 기본을 다지고 한번 더 리마인드 하자는 차원에서 완강을 했고, 결론적으로는 시험 뿐만 아니라 업무에도 큰 도움이 되고 있다.

  • 이해가 쏙쏙 되는 강의
  • 지속적인 업데이트
  • KodeCloud 를 통한 인터렉티브 연습 문제 (엄청 많다!)
  • 3개의 모의고사 (요점은 다 나온다)
  • 유료 (이긴 한데 상시 할인이라 큰 부담은 없다. 등록하면 평생 수강이니, 할인율이 높을 때를 노려 구매해 두는 것을 추천.)
  • 영어 (수준이 높다기 보다는 그냥 귀찮다. 영어 자막은, 거의 자동 생성인 경우가 많기 때문에 별 도움이 안 된다.)

시험 등록

보통 시험을 Linux Foundation 에서 볼 텐데, 그럼 아래와 같은 절차로 시험을 준비한다.

  1. Global Candidate Agreement 를 읽고 ‘동의’ 를 누른다.
  2. 이름을 확인한다. 반드시 신분증에 있는 영어이름과 일치해야 한다. (여권이나 국제운전면허증 등등) 일치하지 않거나 하면 피곤해진다고 한다.
  3. 시험에 사용될 OS 를 지정한다. 보통 우분투를 사용한다.
  4. 시험 일정을 예약한다. 한번 시험 등록에 들어오면 시험 일정을 잡는데 유효기간이 있다. 그래서 가급적 스케줄을 확인하고 얼른 시험 일정을 예약해야 한다.
  5. 시스템 환경을 체크할 수 있다.
    • Chrome 확장 프로그램 을 반드시 설치하고 시험을 시작해야 한다.
    • 비인가된 프로그램을 사용하는지 감독관이 반드시 체크한다. 작업관리자를 ‘간단히’ 버전으로 띄우도록 요청한다.
    • 책상은 컴퓨터/노트북 외엔 깨끗해야 하며 (외부 모니터는 된다고 하던데 나는 치웠다) 책상 아래도 깨끗해야 한다. 이걸 증명하기 위해 웹캠이 필요하다. 노트북 내장 웹캠도 가능하다 (내가 그랬으니까)
    • 방 안엔 누구도 있어선 안 되고, 밝고 조용한 환경이어야 한다. 단, 수험자 뒤에서 밝은 빛이 나오면 안 된다 (감독관 방해)
  6. 다음 글을 읽어 본다. 만약 시간이 없으면 Important Instructions 만 읽어 보자.
  7. 시험 준비가 모두 끝났다고 생각되면, killer.sh 에 들어가서 모의고사 세션을 시작해보자.

killer.sh

Linux Foundation 에서 제공하는 마지막 모의고사 성격의 mock-up exam 환경이다.

  • 저기서도 경고하지만, 실제 시험보다 훨씬 까다롭고 광범위한 질문이 나온다. 좌절할 필요 없다.
  • 2개의 세션이 제공되는데, 한 개당 36시간의 유효기간이 있다. 2시간 타이머가 돌긴 하지만, 타이머가 끝난다고 시험이 닫히진 않는다. 심리적인 압박 용이니, 2시간 시간관리 한다 생각하고 신경 써가며 풀어보자.
  • 2개 세션 모두 같은 문제 세트를 가지고 있다. 하나는 시험 치듯 풀고, 끝나면 정답과 함께 채점을 해 주기 때문에 두 번째 세션은 오답노트 풀듯이 훓는 걸 추천한다.


시험 환경 준비

  • 감독관은 말 하지 않는다. 대신 채팅으로 말한다.
    • 시험 전 20분부터 입장이 가능한데, 감독관이 준비되어야 사실 입장이 가능하다 (…)
    • 감독관을 만나면 하는 일은, 신분증으로 신원 확인, 방 주위를 둘러보기, 책상 보기, 책상 아래보기.. 정도만 했다.
    • 시험 중간에는 웬만하면 어떤 채팅도 올라오지 않는다. 내가 본 건 딱 ‘15분 남았습니다’ 였다.
    • (내가 겪어 본 건 아니지만) 만약 허용되지 않은 웹 사이트를 실수로라도 방문하면, 경고성 채팅창이 올라올 것이다. 그런데 같은 짓을 4번 (3번?) 더 하면 시험이 그냥 종료되니 주의. (자세한 내용은 위 문서에서 인스트럭션을 읽어보면 된다)
  • 북마크 사용은 가능하다, 물론 허용된 사이트 안의 웹 페이지만이다.
  • 크롬이나 엣지 브라우저로 문제가 생길 수 있다는 이야기가 있다. 그러면 감독관이 비발디 (Vivaldi) 브라우저를 권한다고 한다.
    • 문제는, 환경설정에 시간을 다 뺏기고 (준비에 시간을 주긴 할테지만 2 시간 스케쥴이 틀어진다) 준비해 간 북마크 호환하기 어려울 수 있으므로 당황할 여지가 생긴다.
    • 추천: 그냥 ‘Vivaldi’ 브라우저를 설치하고, 거기다 환경을 구성해 두자. (물론 크롬 확장 프로그램 미리 깔아두는 것 잊지 말고)
  • 영어 해석에 애를 먹는다면, Google 번역 크롬 확장 프로그램을 설치해서 써도 된다.
    • K8s Docs 의 한글 번역본을 읽어도 아무런 제지가 없다.
    • 문제 몇 개는 해석이 조금만 틀려도 산으로 가는 것들이 있다. (NetworkPolicy 를 생성할 때 라던지)
    • 하지만 번역기는 만능이 아니다. 참고용으로만 쓰는 걸 추천한다.

시험칠 때

  • 클러스터 몇 개가 주어지고, 매 문제마다 처음에 context 를 바꾸라고 한다. 안 바꿔도 된다는 확신이 있어도 반드시 바꾸자. 안 바꾸면 정답이 엉뚱한 클러스터에 반영되고 채점도 안 된다.
  • 15-20 개의 문제가 주어진다고 하고, 각 문제마다 배점이 있다. 컷 라인은 66점이니 쉬운 것을 먼저 푸는게 좋다.
  • 다른 합격 후기에서는, kubectl 자동 완성을 위해 cheat sheet 를 적용하라고 하는데, 나는 이게 시험 환경에 이미 적용이 되어 있었다.
    • kubectl = k
    • 명령어 자동 완성 가능 (예) k des<tab>k describe
    • 리소스 이름 자동 완성 가능 (예) interp 라는 ns 가 있다고 하면, then k get pod -n int<tab>k get pod -n interp
  • 리소스를 지우거나 업데이트 하기 전에, 반드시 그 리소스를 백업해 두자. 혹시 그 리소스를 원상복구 시킬 때가 있을 수 있는데, 백업 없이는 다른 방법이 없다.


공부할 때

  • 오픈북 시험에서 가장 중요한 건, 어떤 문제를 마주쳤을 때 어디를 봐야 하는지 기억해 두는 것이다.
    • 좀 더 구체적으로, 어떤 키워드로 K8s docs 를 검색해야 하는지를 기억하는 것이 중요하다.
  • 하지만 아래 키워드는 찾아보기도 전에 타이핑할 수 있도록 기억해두는 게 좋다.
    • Pod 을 생성할 때: k run {name} --image= ... --dry-run=client -o yaml 로 YAML 파일을 얻어서 수정한 뒤 k apply -f {yaml_file} 로 입력
    • 리소스를 생성할 때 (가능하다면):
      • k create 명령어로 어떤 리소스를 만들 수 있는지 보고,
      • k create {resource} --help 로 해당 리소스를 만들 수 있는 다양한 예제를 확인한 뒤,
      • 역시 --dry-run=client -oyaml 을 붙여 YAML 파일을 얻을 수도 있다.
Hugo로 만듦 / JimmyStack 테마 사용 중