CKA 시험 후기
저번 주 토요일에 CKA 시험을 치르고 다음 날인 일요일에 합격 통보를 받았다. 간단히 시험 준비과정과 CKA 시험을 준비하면서 겪은 애로사항 및 느낀 점을 공유하려고 한다.
1. 시험 준비 이유 / 준비 전 나의 상태
나는 일반적으로 Springboot를 활용하여 API 서버를 개발한다. 가끔 Python도 사용한다. AWS를 사용하여 API 서버를 운영하고 있다. AWS도 리소스를 처음부터 직접 구성해본 적은 없다. Shell을 이용하는데는 익숙하지만 Linux OS 지식이 깊지는 않다.
현업에서 나는 k8s를 전혀 사용하고 있지 않았다. Kubernetes (이하 k8s)쪽 지식도 전무했었고 Docker라는 것이 컨테이너 기반의 기술이라고만 막연하게 알고있었다. 그러다가 최근에 새로 맡게 된 업무에서는 모든 코드가 k8s를 포함한 온갖 CI/CD 툴을 기반으로 돌아가고 있었다. 처음 Github 접근권한을 받고 난생 처음보는 확장자의 코드들을 구글링하다가 단편적인 지식으로 코드를 이해하는 것엔 한계를 느꼈다.
결국 기초 개념부터 인터넷 강의나 책 등으로 공부해야겠다는 생각을 하게 되었는데, 주변에 개발자 일을 하는 동기들이 CKA라는 시험을 추천해줬다. Linux foundation에서 제공하는 인증시험인 점, 그리고 시험에서 요구하는 지식들이 현업과 밀접한 연관이 있는 것처럼 보였다. 그래서 약 2달 전부터 본격적으로 준비를 시작하였다. 이 정도 지식으로도 현업을 겸하면서 2달 정도 걸려서 취득하였다.
2. 공부 / 참고자료
아래는 내가 공부하면서 사용했던 강의들 / 자료들 및 k8s 환경들이다. 이 중 강의들은 자동 생성된 자막으로 단어들이 종종 엉망이기 때문에 유의하여야 한다.
1) 강의
CKA 시험을 위한 기초지식부터 다 알려주고 또 연습환경과 연습문제도 죄다 제공하는, CKA 합격 후기마다 등장하는 “그 강의”다. 할인할 때를 노리면 5만원 이하로도 수강 가능한 것 같다(나는 회사에서 제공하는 Udemy 수강권으로 무료로 수강하였다). 이 강의만 잘 들어도 충분히 합격할 수 있다.
위 강의가 조금 부담된다면 같은 강사가 개설한 이 강의로 k8s를 시작하는 것도 좋다. yaml 작성 위주이긴한데 기초 개념을 잡기에는 좋았다.
2) 참고자료
시험때 참고할 수 있는 사실상 유일한 참고자료이다. 평소에 연습문제를 풀 때도 힌트나 솔루션을 보기 전에 키워드로 docs 검색하는 습관을 들이는 것이 좋다.
17문제를 2시간에 풀려면 시간이 빠듯하다. yaml파일을 일일히 작성하는 것보다는 run과 create, expose 명령어에 익숙해지는게 좋다. 시험때 명령어 옵션이 잘 기억나지 않는다면 -h 옵션으로 도움말을 참고한다.
- 각종 블로그 후기글들 / 중국 블로그들
후기 글들은 PSI 기반 시험으로 변경된 이후의 글들만 참고하자. 그리고 시험 끝나고 알게 된 것인데, 중국 블로그에 시험문제 및 풀이가 그대로 있는 경우가 많다. 시험 후 복기할 때 몇 가지 키워드로 구글링해본 결과 중국어로 작성된 블로그들에 실제로 출제된 문제와 풀이가 그대로 있는 경우를 직접 확인했다.
3) 시험환경
내 컴퓨터를 마스터노드 1개로 구성된 k8s 클러스터로 만들어준다. 대부분의 k8s 실습은 이걸 통해서 진행할 수 있는데, 여러 노드가 필요한 실습(kubeadm을 이용한 cluster 구성 등…)을 할 수가 없는게 단점이다. 또한 k8s 설정파일들을 자세하게 들여다보고 싶을 때 Permission denied가 발생하는 경우가 종종 있었다.
시험 치르고 나서야 발견했던 사이트. 온라인에서 k8s실습을 할 수 있도록 환경을 제공해준다. 심지어 속도가 빨라서 놀랐다.
연습하고싶은 주제로 검색하면 그에 맞는 환경을 구축해서 제공해준다(ingress같은). 어차피 시험보면 Killer.sh 도 들어가게될테니 겸사겸사 같이 사용하면 좋을 것 같다.
3. 시험장소 물색
시험볼 때 제일 신경쓰였던 부분이 시험장소였다. 주변에 사람이 있으면 안되는건 물론이고, 벽에 글자가 붙어있거나 해서도 안되고, 책상이나 책상 밑에 아무것도 없어야되고, 무엇보다 조용해야한다.
나는 집이 너저분하고 또 책장이 여기저기 꽃혀있어서 원하는 장소를 찾는데 어려움이 많았다. 결국은 스터디룸을 구했는데, 다음에 유의하며 장소를 구성하였다.
- 사방이 완전한 벽으로 되어있는 곳
- 문을 잠글 수 있으며(사람 들어오는 거 방지), 또 문에 유리창(불투명유리 포함)이 없을 것
- 너무 시끄럽지 않은 곳 (나는 옆방에서 자꾸 화이트보드 두들겨서 짜증났었음)
- 와이파이가 잘 통하고 필요시 유선랜도 가능한 곳
- 벽에 미술작품이 없고 안내문이 최소한인 곳
거의 1주일을 뒤져서 여기를 만족하는 곳을 찾았었는데, 시험 전 주에 한 번 가서 사전답사를 했고 만족스러워서 시험 당일에도 그 곳을 이용했었다.
다만 마지막 항목이 힘든 부분이었는데, 나는 그냥 A4용지와 테이프를 들고가서 안내문 (와이파이 비밀번호라던지 퇴실시 주의사항 등)을 다 덮어버렸더니 시험관이 별 말 없이 넘어갔었다.
꼭 사전답사를 해서 와이파이 등을 비롯한 시험 환경을 조사하고, 당일날에도 랜 연결용 잭과 충전기를 챙기도록 하자.
참고로 내가 시험을 치른 장소는 여기다.
4. Don’t panic, don’t panic, don’t panic.
Certified Kubernetes Administrator (CKA) with Practice Tests 강의 마지막에 나오는 Certification tips의 한 구절인데, 나에게는 큰 도움이 되었다. 100점 만점에 66점만 넘기는 시험이라고 생각하고 쉽게쉽게 보자.