들어가며
CKAD(Certified Kubernetes Application Developer) 자격증은 쿠버네티스를 운영하는 CNCF가 직접 인증하는 쿠버네티스 자격 시험입니다. CKA를 공부한 김에 마저 따버리자는 마음에서 도전하게 되었습니다.
저는 시험을 치기 전에 Udemy 강의를 통해서 CKAD 연습문제를 풀어봤습니다. 사실 CKA와 CKAD는 겹치는 부분이 매우 많아서 특별하게 더 공부한 내용이 적었습니다. CKA와 CKAD의 공통점과 차이점은 뒤에서 설명하겠습니다. 66% 이상 점수를 획득해야하 취득이 가능하며, 저는 91%로 합격했습니다. 제가 참고한 강의는 아래에 첨부하였으며, 응시한 뒤에는 환불했습니다. (CKA와 겹치는 부분이 너무 많아서 소장하고 있을 이유가 없었습니다.)
https://www.udemy.com/course/certified-kubernetes-application-developer/
CKAD 자격증을 준비하기 이전에 마찬가지로 블로그 후기들을 찾아봤습니다만, 마땅한 글이 없었습니다. CKA에 비해서 상대적으로 잘 알려지지 않은 자격증이고, KCSP 혜택 대상에서도 제외되었기 때문에 인기가 덜한 것이 이유인 것 같습니다. 그리고 CKA 자격증과 CKAD 자격증 모두 응시료가 $300 (저는 프로모션 받아서 $255에 쳤습니다.) 인 점도 두 자격증을 모두 취득하기가 망설여지는 이유인 것 같습니다.
아무튼! 마땅한 글이 없는 관계로 CKAD 자격증에 관해서 간략한 소개와 함께 후기를 남겨보도록 하겠습니다.
CKA vs CKAD
CKAD는 사용자가 쿠버네티스를 활용해서 클라우드 네이티브 어플리케이션을 제대로 디자인하고, 운영하고, 트러블 슈팅할 수 있는지를 평가합니다. 평가하는 영역을 CKA와 비교하면 아래와 같습니다.
슬쩍 보기에도 CKA의 범위가 훨씬 많습니다. 그리고 CKAD 시험 범위 대부분이 CKA 범위에 포함되었습니다. 예를들어 Core Concept, Configuration, Multi Container Pod, Service & Networking, State Persistence 등의 개념들은 CKA 시험 범위안에 모두 포함됩니다. 그렇다면 CKAD는 그냥 단순히 CKA의 하위 호환일까요? 하지만 하위 호환이라기엔 개인적으로 CKAD 시험이 더 어렵게 느껴졌습니다.
1. 시험 시간이 짧다.
CKA 시험은 24문제를 3시간안에 풀어야 했습니다. 주어진 문제를 쭉 푸는데에는 2시간 정도 소요되었습니다. 남은 1시간 동안 충분히 검토하고 몰랐던 문제도 열심히 검색해서 해결할 수 있었습니다. 하지만 CKAD는 19문제를 2시간 안에 풀어야 했습니다. 문제를 다 푸는데에는 충분했지만 검토를 하기에는 시간이 빡빡했습니다. 마지막에 Crash가 난 문제 하나가 있었는데 시간이 부족해서 수정하지 못한 기억이 있습니다. 그만큼 CKAD는 CKA에 비해 체감상 시간이 넉넉하지 않았습니다.
2. 추가 범위로 나오는 문제들이 까다롭다.
CKAD에서 추가되는 유형의 문제들은 readinessProbe, livenessProbe, cronjob 정도입니다. 헌데 이 유형의 문제들을 완벽하게 풀어내기가 생각보다 순탄하지 않습니다. 특히 cronjob의 경우 cronjob 템플릿 아래에 job 템플릿 아래에 실제 동작을 수행하는 컨테이너를 정의하는 등 구조가 복잡하여 실수하기가 쉽습니다. 이렇게 새롭게 추가되는 유형들에 대해서는 연습 문제를 충분히 풀어볼 것을 권합니다.
3. 요구 조건들이 많아서 실수하기 쉬운 문제들이 출제된다.
CKAD는 CKA에 비해서 확실히 범위는 좁지만, 그만큼 오브젝트들을 세부적으로 다룰 수 있는지를 더 중점적으로 평가합니다. 따라서 배점이 큰 문제들은(7~8%) 요구하는 오브젝트들의 상태, 관계 설정 등이 복잡한 경향이 있습니다. 어느 한 조건이라도 삐끗하면 점수를 모두 잃게 되니 주의해야 합니다.
CKAD 취득 난이도
그럼에도 불구하고 CKAD는 CKA에 비해서 취득 자체는 훨씬 쉽습니다. 일단 컷트라인 자체가 66%로 CKA가 74%인 것에 비해서 낮습니다. 앞서 제가 까다롭다고 언급한 문제들을 모두 틀리더라도 나머지 쉬운 문제들을 잘 줍줍하시면 너끈히 통과할 수 있을 것 같습니다. 그리고 절대적으로 필요한 공부량이 CKA에 비해서 훨씬 작습니다. 제 경우에도 개념 공부를 특별히 더 하지 않았으며, 연습 문제들만 추가로 풀어 본 뒤 시험을 쳤습니다. 따라서 CKA를 취득하신 분들이라면 별다른 수고 없이 취득이 가능할 것 같습니다.
CKA와 CKAD 중에 무엇을 따야 하는가?
아마 이 글을 읽으시는 분들 중에서 두 자격증 가운데 무엇을 따야하는가 고민하고 계신 분들이 있을 것 같습니다. 개인적으로는 CKA를 추천 드립니다. 그 이유로는 먼저 CKA를 공부하게되면 쿠버네티스의 내부 구조에 대해서 공부를 하게 됩니다. 특히 인증, 네트워크, 컨트롤 플레인 오브젝트들의 설정 등을 직접 만져보면서 쿠버네티스 자체에 대한 이해를 키울 수 있습니다.
반면에 CKAD의 경우 이러한 내용들이 시험 범위에서 제외되어 있습니다. 그리고 Deployment, Service 등과 같은 기본적인 오브젝트들의 세부적인 사용 방법에 초점이 맞춰저 있기 때문에 쿠버네티스 자체를 이해하는데 상대적으로 도움이 적게 됩니다. 또한 CKAD에서 커버하는 내용들은 CKA에서 거의 커버된다고 보면 되기 때문에 CKA를 취득하셨다면 굳이 CKAD까지 취득할 이유는 적어보입니다.
마치며
쿠버네티스에 대한 지식과 숙련도를 키우기 위한 단기 목표로 CKA, CKAD는 매우 훌륭했습니다. 특히 CKA를 공부하면서 배운 점들이 많아서 뿌듯함을 느낍니다. 자격증 자체가 어떻게 도움이 될지는 모르겠으나, 동기부여 역할은 톡톡히 해준 것 같습니다.
자격증과 관련해서 질문이 있으시다면 댓글로 남겨주세요.
감사합니다.
'갈아먹는 엔지니어링 시리즈 > 도커 & 쿠버네티스' 카테고리의 다른 글
갈아먹는 자격증 [2] CKA 취득 후기 및 팁 (10) | 2020.08.07 |
---|---|
도커 파일(Dockerfile) 작성 Best Practices (0) | 2019.07.12 |