[Kubernetes] CKS(Certified Kubernetes Security Specialist) 합격 후기

Jay·2021년 12월 28일
0

TL;DR

  • 시험 준비 기간은 3~4주, 강의는 Kode Kloud, 모의 시험은 Kode Kloud + killer.sh
  • CKS 시험이 CKA 시험보다 조금 어렵긴 하지만, 정신만 잘 차리면 시간 내에 충분히 풀 수 있는 수준
  • 쿠버네티스 보안에 대해 완벽하게 이해하려면 조금 부족하지만, 그래도 어느정도 개념은 잡을 수 있는 시험

시험을 보기 전까지

준비 기간

11월 말부터 3~4주 정도 퇴근 후 시간과 주말을 활용해서 강의를 듣고 모의 시험을 풀면서 공부를 했다.

중간 한 주 정도는 각종 이슈(AWS, log4j..)로 인해 공부를 거의 하지 못해서 집중해서 공부를 한 기간은 3주 정도라고 보면 될 것 같다.

학습 자료

준비과정을 준비하기 글에서 썼던 것처럼 Kode Kloud의 강의를 듣고 정리하면서 공부를 했고, 시험 연습은 Kode Kloud 강의에 포함된 Mock Exam과, CKS 시험 신청 시 제공되는 killer.sh을 활용했다.

시험에 도움이 된 🍯팁

내가 쓰고 있는 클러스터가 무엇인지 확인하기

시험에서는 한 문제 당 한 개의 클러스터가 제공된다. 그래서 다른 문제에서 클러스터를 고장내도 다른 문제는 풀 수 있는 환경이다. 하지만, 그래서 엉뚱한 클러스터에 엉뚱한 리소스를 배포할 수 있다는 말이기도 하다. 그래서 시험을 볼 때는 꼭 내가 어느 노드에 있는지, 어느 클러스터에 접근하고 있는 지 확인할 필요가 있다.

$ k config current-context

꼭 필요한 북마크만 지정해두기

깃허브를 찾아보면 이미 많은 사람들이 CKS에서 유용하게 사용할 수 있는 북마크를 정리해두었지만, 직접 정리한 북마크가 아니라 그런지, 어떤 내용이 어디에 들어가 있는지 찾는 시간이 오히려 더 오래 걸리는 단점이 있었다.

그래서 Mock Exam, Killer.sh 모의 시험을 풀면서 직접 필요한 내용만 북마크로 저장해두었는데, 확실히 시험 보면서 필요한 페이지를 바로 열 수 있어서 도움이 되었다.

JSON Path 사용법을 잘 익혀두기

JSON Path의 사용법을 잘 익혀두면 시크릿의 데이터를 확인하거나, 네임스페이스 내의 파드가 사용하고 있는 컨테이너 이미지를 확인할 때 아주 유용하게 사용할 수 있다.

# 시크릿의 데이터 확인하기
$ k get secret my-secret -o jsonpath='{.data}'

# 네임스페이스 내 파드가 사용하고 있는 이미지 목록 확인하기
$ k get pods -n my-namespace -o jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.containers[*]}{.image}{", "}{end}{end}' |\
sort

사실 EKS 운영을 하면서 JSON Path를 쓰는 경우는 그렇게 많지 않았다. 이번 시험을 준비하면서 JSON Path를 조금만 잘 써도 편해진다는 것을 알게되었고, 시험에서도 물론 잘 썼지만, 앞으로 업무에서도 조금씩 활용을 할 수 있을 것 같다고 생각했다.

killer.sh 시험은 꼭 풀어보기

이전에 CKA 시험을 볼 때는 killer.sh이 무료 제공되지 않았던 것 같은데, 요즘은 쿠버네티스 자격 시험을 등록하면 killer.sh Simulator 세션이 2개 제공된다. 각 세션은 36시간동안 사용이 가능하고, 36시간 안에는 몇번이고 재시험을 볼 수 있다. 2개 세션의 문제 내용은 같다.

참고로 세션을 시작하기 전에 주의 사항을 보면 "Our simulators are harder than the real exam."라는 문구가 있는데, 진짜다. Mock Exam 3회독 정도를 하고 자신만만해져서 시험 당일에 가벼운 마음으로 killer.sh 시뮬레이터를 켰다가 너무 어려워서 울 뻔했다.

비록 난이도는 높지만 실제 시험과 유사한 방향성의 문제들이 많기 때문에, 꼭 풀어보는 것이 좋다.

그 외

그 외에는 kube-apiserver가 죽는다고 당황하지 말기, 또는 Docker 명령어도 조금 알아두기 정도가 있을 것 같다.

시험 시작부터 종료까지

예약한 시간 15분전에 시험 시작 버튼이 활성화되고, 예약 시간 후 15분이 지나도록 시험 시작을 하지 않으면 no-show로 처리되는 듯 하다.

감독관이 시험을 활성화해야 나도 시험을 시작할 수 있기 때문에 15분 전에 들어가봤자 감독관이 늦게오면 오래 기다리기만 해서 더 힘들 뿐이었다. 감독관이 예약 시간보다 13분 늦게 도착하는 바람에 약 30분에 가까운 대기 시간을 끝내고 시험이 시작됐다.

문제는 총 15개였고 시험 시간은 총 2시간이 주어졌다. 각 문제에는 가중치가 표시되어 있는데, 꼭 풀이 과정이 복잡한 문제의 가중치가 높은 것은 아니다.

alias(k=kubectl)나 Auto completion 설정은 이미 되어 있기 때문에 따로 해줄 필요는 없다.

시험 난이도는 CKA보다 어렵긴 했지만, 정신을 잘 차리고, 미리 저장해둔 북마크만 잘 활용한다면 시간 내에 충분히 풀 수 있는 수준이었다.

시험이 끝나고 난 뒤

시험 결과는 시험 종료 24시간 후에 메일과 Training Portal을 통해 확인할 수 있다. 급한 성격 탓에 시험 종료 20시간 이후부터 결과를 기다리기 시작했고, 22시간 후에 결과를 바로 확인할 수 있었다.

결과는 80점으로 합격이었다.

CKS 시험은 쿠버네티스 보안에 대해 완벽하게 이해하기엔 조금 부족하지만, 그래도 어느정도 개념은 잡을 수 있는 시험이었다.

그렇기 때문에, "쿠버네티스 보안.. 이거 맞아?" 라는 질문으로 시작한 자격증 도전기였지만, 질문에 대한 답을 아직 확실하게 찾지는 못했다. 이번 시험 공부를 하면서 배운 내용을 토대로 답을 찾아야 할 것 같다.

profile
공부 하고 싶은 직장인의 기록장

0개의 댓글