2022년 8월 12일 CKA 자격증 취득을 위한 Exam을 봤으며 다음날인 13일 합격 소식을 받았습니다.
본 포스팅에서는 제가 자격증 취득을 위해 어떤 준비를 했는지, 시험 과정에서는 어떤 점을 주의해야 하는지 자격증 준비에 도움될만한 글을 남기려고 합니다.
개인적으로 지금까지 봤던 자격증 시험 중에 가장 이질적이었던 유형의 시험이었기 때문에 당황스러운 일도 많았지만, 운이 좋게도 87점의 점수로 합격 컷을 넘을 수 있었습니다.
저는 약 두 달간 하루 한 시간씩 CKA 시험을 준비했으며, 시험 준비에 더 시간을 쏟으시는 분들은 이른 시간에 자격증을 취득하실 수 있을 것입니다.
이 글을 보시기 전에 글쓴이인 저는 약 1년의 Kubernetes 실무 경험이 있으며, 기본적인 Linux 및 명령어에 대한 지식을 가진 채로 본 자격증 취득을 준비했음을 알려드립니다.
1. CKA 시험이란?
CKA(Certified Kubernetes Administrator)는 CNCF와 Linux Foundation의 콜라보레이션으로 쿠버네티스 관리자로써 실무적 역량을 갖추고 있는지 검증하는 시험이라고 합니다.
말 그대로 쿠버네티스 관리자로써의 역량을 검증하는 자격증이기 때문에 클러스터의 아키텍쳐, RBAC 관리, 트러블슈팅 등 관리자로써 갖춰야 할 능력을 주로 시험합니다.
자세한 시험 도메인 및 비중은 아래와 같은데요.
시험 도메인에는 쿠버네티스의 Persistent Volume 및 Volume Mount 사용 능력을 검증하는 Storage,
클러스터 구성 문제를 고쳐야 하는 Troubleshooting,
요구하는 Workload의 Pod, Deployment 등을 Scheduling해야 하는 Workloads & Scheduling,
클러스터 업그레이드, 백업 및 복구 능력, RBAC 사용 능력을 검증하는 Cluster Architecture, Installation & Configuration,
Service 및 Ingress를 이용한 pod Networking이나, 쿠버네티스 네트워킹 구조를 시험하는 Services & Networking 이 있습니다.
제가 본 시험 뮨제들을 복기해보니 위의 도메인 비율 그대로 문제가 나온 것 같았습니다. 다만 표기된 비중이 점수 비중인지, 문제 수 비중인지 확실하지는 않군요.
시험은 2시간 동안 진행되며, 온라인으로만 진행할 수 있습니다.
친절하게도 CKA 시험은 한 번의 Free retake 기회가 주어진다고 합니다. 이 말인즉슨 한 번의 Fail을 받더라도 재시험의 기회가 한 번 더 주어진다는 것이죠. 물론 두 번째 Fail 후에는 비용을 지불하고 다시 시험 기회를 얻어야 합니다.
시험 기회를 구매하면 주어지는 것이 하나 더 있는데요. 실제 시험과 거의 동일한 환경에서 문제를 풀어볼 수 있는 Killer.sh 이용권을 2회 부여해줍니다.
개인적으로 이 기회를 잘 활용하는 것이 시험 합격에 중요한 기로가 된다고 생각합니다. killer.sh에 대한 자세한 내용은 시험 준비 단락에서 설명하도록 하겠습니다.
무엇보다 중요한 점은 2022년 6월 25일 이후로 가상 머신 환경으로 시험 플랫폼이 완전히 변경되었다는 것입니다.
이 사실이 굉장히 중요한 이유는, 후술하겠지만 시험 환경이 굉장히 열악하기 때문입니다. 기존에 연습하고 준비했던 환경과는 천지차이로 다른 환경이 준비되니 이 것에 대해서 충분히 심적, 물리적 준비를 하고 가야할 듯 싶습니다.
필자는 이 사실을 모른 채로 시험에 임했기 때문에 굉장히 당황하고, 혼란스러웠으며, 제 기량을 제대로 발휘하지 못했습니다.
이 글을 읽으시는 분들은 이에 대한 준비를 하고 가심이 좋을 듯 합니다.
2. CKA 시험 준비
제가 CKA 시험을 준비하려 여러 리소스를 긁어 모은 결과, 합격하신 분들의 공부 방법이 크게 다르지 않다는 것을 알았습니다.
CKA 시험의 바이블이라고 할 수 있는 Udemy "Mumshad의 CKA with Practice Tests"를 수강하는 것인데요.
저는 사실 동영상 강의를 선호하지 않는 성격이라 Document만으로 준비하려 했지만 너무 많은 합격의 간증이 있어 내키지 않는 마음으로 수강했었습니다.
하지만 어떤 분야던지 바이블 칭호를 얻은 것은 이유가 있는 것 같습니다. Mumshad라는 인도인 강사는 기본적인 Linux 및 Networking에 대한 지식만 있다면 이 강의로 CKA 시험을 커버할 수 있을 정도로 쿠버네티스의 모든 것을 세세하게 가르쳐줍니다.
쿠버네티스의 기반이 되는 도커 및 컨테이너 구조에 대한 설명부터, 매니페스트에 사용되는 json, yaml 문법까지 알려주기 때문에 정말 아무것도 몰라도 되겠구나 싶었습니다. 물론 CKA 시험에서 다루는 모든 범위도 강의로 마련되어 있었습니다.
개인적으로는 마지막에 제공되는 Mock Exam 3회도 많이 도움이 되었습니다. 난이도나 환경이 시험과 100% 동일하다고 할 수는 없겠지만, 대략적으로 문제의 방향성과 지식을 얻는데에는 크게 도움을 받을 수 있었습니다.
CKA 시험을 준비하는데 크게 신경쓰고 싶지 않다면, 이 강의 하나만 수강해도 될 듯 싶습니다.
제가 Mumshad의 강의 말고도 시험을 위해 준비했던 것은 CKA 시험을 신청할 때 2회 이용권을 주는 killer.sh 입니다.
killer.sh는 시험과 거의 동일한 환경에서 문제를 풀 수 있는 세션을 제공해 주는데요.
2회 이용권을 주지만 2회가 각각 다른 문제가 아니라 같은 문제라는 것에 주의해야 합니다.
하지만 문제의 난이도가 매우 높기 때문에, 개인적으로는 같은 문제를 2회에 나누어 풀기에도 벅찼습니다.
따라서 시험 결과가 잘 안나와도 비관적으로 생각하지 마시기 바랍니다. 제가 봤던 시험에서는 killer.sh에서 나왔던 급의 문제는 2~3문제 정도만 나왔던 것 같습니다.
하나 더 주의해야 할 점은 killer.sh의 환경이 시험 환경과 100% 동일할 것이라 생각하면 안된다는 것입니다.
실제 시험 환경이 훨씬 더 가혹하기 때문입니다. 이에 대해서는 시험 후기 란에서 자세히 다루도록 하겠습니다.
마지막으로 제가 도움을 받았던 것은 쿠버네티스 공식 Document입니다.
비단 CKA뿐만 아니라 실무에 임할때도 항상 친해져야 하는 존재이기도 합니다.
이전 시험에서는 브라우저를 사용하기 용이한 환경이었기 때문에 필요한 지식을 얻기 위한 Document 위치도 숙지해야 한다는 후기가 있었지만, 시험 환경이 변경되고 나서는 적절한 Document 페이지를 문제에서 제공해주기 때문에 이러한 필요는 없어졌습니다.
저는 강의를 들을때나, 문제를 풀때 항상 관련된 주제의 Document 문서를 숙지했습니다.
시험에서도 yaml 매니페스트를 작성해야 할때, 일일이 타이핑하는 것보다는 Document에서 복사해 가져오는 것이 더 빠르기 때문에 Document에 익숙해지는 것은 중요합니다.
3. CKA 시험 후기
제 시험 후기를 들려드리기 전에 Reddit의 kubernetes 채널에서 변경된 CKA 시험에 대한 후기를 몇 개 보겠습니다.
이 분은 새 시험 플랫폼이 너무 렉걸려서 최악의 경험을 했다는 후기를 남기셨습니다. 복사가 제대로 안되서 Document의 yaml 매니페스트를 복사하지 못하고 일일이 타이핑하셨다는군요. 결국 합격은 못하신 듯 합니다.
이 분은 시험 환경이 너무 끊기고 느려서 2,3문제만 풀고 시험을 종료했다고 하시네요. 너무 화나고 실망해서 초밥과 맥주를 섭취하고 나서야 분을 진정시킬 수 있었다고 합니다. 이 시험에 들인 노력이 물거품이 되어서 너무 화난다고 하시는군요.
위와 같이 변경된 CKA Exam에 대한 후기는 대부분 좋지 않습니다.
저 또한 그랬는데요. Termianl에 타이핑을 하면 3초 뒤에 입력된다거나, 브라우저 창이 너무 작아 휠스크롤 한 번에 너무 많은 페이지가 넘어간다거나, 백스페이스 등 키를 연타하면 입력이 되지 않는다거나, 약 7~8번의 DIssconected 현상을 겪는 등의 당황스러운 일이 있었습니다.
이와 같은 현상의 원인은 시험이 가상 머신 환경에서 진행되도록 변경되었기 때문인 것으로 추측됩니다. 가상 머신 환경은 네트워크 상태에 영향을 많이 받는데다가, 실시간 조작을 하는데 있어서는 쾌적한 환경은 아니죠. 게다가 시험은 Proctor가 봐야 할 저희의 모니터링 캠까지 전송해야 하니 네트워크 부하가 엄청났을 것입니다.
이러한 이유로 시험 환경이 끊기고, 느리고, 자주 동작하지 않았을 것으로 사유됩니다.
하지만 CNCF가 대책을 내놓기 전에 우리는 이러한 환경에서 시험을 봐야 합니다. 대책을 세워야겠죠.
아래는 제가 적용했거나 비록 적용하지는 못했지만 "시험장에서 했더라면 좋았을 것"들 리스트입니다.
1. Alias 설정은 생각보다 괜찮습니다 :
kubectl을 k로 alias 설정을 하는 것에 전 회의적인 시각이었는데요. kubectl 한 단어를 적는데도 3초를 기다려야 하는 시험을 겪고 나니 충분히 시간을 투자할 만한 행동인 것 같습니다.
2. 바뀐 키 설정에 적응해야 합니다 :
시험 환경에서는 Terminal에 복사 및 붙여넣기를 할때 ctrl+shift+c, ctrl+shift+v를 해야 합니다. killer.sh에서 연습하면 충분히 적응할 수 있습니다. 추가로 저는 Killer.sh에서 Document의 매니페스트를 Terminal로 복사해올때는 ctrl+c가 이상하게 적용되어서 실제 시험장에서는 오른쪽 클릭 -> Copy를 사용했습니다.
3. 버릴 문제는 과감히 버려야 합니다 :
CKA 시험은 66점 이상을 얻으면 합격하는 시험입니다. 점수의 커트라인 자체는 높지 않기 때문에 시간을 많이 잡아먹을 것 같거나 애매한 문제는 과감히 패스해도 문제없습니다. 게다가 이렇게 쾌적하지 않은 시험 환경에서는 실제 기량을 전부 발휘하지 못할 것이기 때문에, 못 풀 문제를 붙잡는 것은 시간 낭비일 가능성이 큽니다.
4. 가능하다면 선언형으로 생성합니다 :
쿠버네티스에서 리소스를 생성하는 방법에는 선언형과 명시형이 있습니다. 아무래도 yaml 매니페스트를 작성해야 하는 명시형보다는 한 줄의 명령어만 작성하면 되는 선언형이 훨씬 더 빠르겠죠. 게다가 시험장 환경은 딜레이, 끊김 등으로 시간이 부족하기 때문에 이런 방법으로 시간을 절약해야 합니다.
5. 컨텍스트에 항상 주의해야 합니다 :
예상보다 점수가 너무 낮게 나왔다는 분들의 후기를 들어보면 9할은 이 문제를 의심하셨습니다. 문제마다 어떤 쿠버네티스 클러스터를 사용해야 하는지 컨텍스트를 지정해주기 때문에 지정된 컨텍스트에서 문제를 풀어야 점수가 인정됩니다. 비록 컨텍스트 변경에도 시간이 걸리는 환경이지만 꼬박꼬박 확인해야 합니다. 노드로 ssh 접속을 했을시에도 정상적으로 빠져나온 뒤 다음 문제로 진행하는지 확인해야 합니다.
이러한 문제들 외에 시험 준비 절차는 순조롭게 진행됩니다.
저는 시험 시간 30분 전에 입장 페이지로 접속해서, 요구하는 플랫폼을 설치하고, 마이크,카메라 등의 Requirement를 확인한 뒤,ID card를 보여주고, Proctor의 안내에 따라 진행했습니다.
Proctor는 카메라로 제 책상과 책상 아래, 데스크 매트 아래, 손목을 보여줄 것을 요청하셨고 여기까지의 과정이 30분 정도 소요된 것으로 기억합니다. Proctor가 모든 준비를 마치면 시험장에 입장하게 되는데요.
하지만 시험장에 입장한 뒤 Terminal을 켜고 첫 명령어를 입력한 순간 무언가 잘못된 것을 감지할 수 있었습니다.
저는 타이핑을 한 뒤 3초 뒤 입력되는 환경에서 시험을 볼 것이라고는 예상하지 못했기 때문에, 처음에는 당황했지만 이내 현실에 수긍하고 시험 문제를 풀었습니다.
덕분에 모든 문제를 풀고도 검토할 시간 없이 10분여의 시간만 남기고 시험 종료 버튼을 누를 수 밖에 없었습니다. 개인적으로 시험 환경이 조금만 더 쾌적했으면 Document와 문제를 더 검토할 수 있었을 것 같습니다.
4. CKA 시험을 보고자 하는 분들에게
CKA 시험 가격은 395달러로 최근 한번의 인상이 있던 것으로 기억합니다. 이는 원화로 50만원에 달하는 금액으로 절대 만만한 액수는 아니죠. 사실 이 돈을 받고 시험 환경이 이렇다는 것을 생각하면 더 괘씸하기도 합니다.
하지만 다행히도 CKA 시험 구매에 적용할 수 있는 쿠폰이 존재합니다.
우선 말씀드린 Mumshad의 강의를 수강하면 받을 수 있는 15% 쿠폰이 있습니다. 이 쿠폰을 적용하면 약 43만원 정도에 시험을 치를 수 있습니다.
그리고 CNCF가 Kubecon, Black friday 등 행사 때 한정적으로 제공하는 쿠폰이 존재하는데요. 15%에서 최대 50% 쿠폰까지 있다는 것으로 들었습니다. 물론 이 쿠폰은 한정적이기 때문에 제공 시기를 잘 알아야 하는데요. 이 소식을 듣기 위해 Reddit의 Kubernetes 채널을 항상 모니터링하시는 것을 권장드립니다.
저는 30% 할인 쿠폰을 받아서 약 35만원에 시험을 치를 수 있었습니다. 시험은 구매 후 1년 간 자유롭게 신청할 수 있으니 일단 쿠폰 유효기간 때 구매했다가 준비가 충분히 되시면 시험을 치르는 것이 효율적입니다.
마지막으로 저는 이 시험을 치루면서, 이 환경에서 한 번 더 시험 볼 생각을 하니 진저리가 나서 온 정신을 집중할 수 밖에 없었습니다. 여러분들도 아마 같은 마음가짐으로 시험에 임하시면 붙으실 수 있을 것이라 생각합니다.
이 글을 읽으시는 분들이 CKA 자격증을 취득하는데 도움을 얻으셨으면 합니다.
'Devops' 카테고리의 다른 글
Tekton 사용해보기 (1) Tekton으로 쿠버네티스에서 CI/CD 파이프라인을 구성해보자 (1) | 2022.10.03 |
---|---|
GCP에서 Terraform을 사용하기 위한 Best Practice (1) | 2022.09.16 |
Kubernetes에 존재하는 Metrics Server란 무엇일까? 그리고 어떻게 해야 잘 사용할 수 있을까? (1) | 2022.06.26 |
Apache Kafka란? Apache Kafka를 Kubernetes에서 구성해보자 (1) | 2022.06.16 |
Mysql Operator로 Kubernetes 환경에서 Mysql DB 운영하기 (3) | 2022.05.31 |