CKA라는 자격증에 대한 정보는 오래전부터 알고 있었다. 다만 쿠버네티스를 그렇게까지 사용하지 않았을 때였고, 공부를 해볼까라는 생각은 전혀 못했던 것 같다. 하지만 CKA를 주최하는 Linux Foundation은 매년 12월에 사이버 먼데이라고 50% 시험 할인 쿠폰을 제공하는데, 사악한 비용을 자랑하는 CKA 시험을 싸게 칠 수 있는 기회가 있었다.
이전에 AWS 자격증을 딴 적이 있다. AWS 자격증을 따면서 좋았던 점은 공부하기 전에는 그냥 구현만 어느정도 꽤 할줄 알았고 자세한 디테일은 잘 몰랐다. 예를 들면 서브넷이나 VPC에 대해서 신기했던 점은 AWS로 들어오는 트래픽은 무료지만 나가는 트래픽에 전송 비용이 든다는 점이다. 동일 Region에 동일 AZ끼리는 무료, 다른 AZ끼리는 약간의 가격이 들지만 VPC를 이용하면 트래픽 비용을 아낄 수 있다는 것을 배웠다. 이렇게 어느정도 알고 있었다고 생각했던 AWS를 공부하니까 모르는 부분이 조금 있어. 예상외로 폭발적인 집중력이 나왔고 생각보다 빠르게 취득한 감이 있다.
어느날 일론 머스크가 전통적인 교육 방식의 문제점에 대해서 이야기한 유튜브를 봤다. 우리가 그동안 학습해왔던 과정은 굉장히 좋지 않다는 것이다. 20년 동안 그저 서서 강의자가 강의하는 원론적인 교육 방식은 재미가 없으며, 그렇게 배운 내용은 먼 훗날 쓰지도 않는다는 이야기이다. 학습 과정은 게임처럼 느껴질 수록 좋으며, 교육을 훨씬 더 흥미롭게 할 수 있어야 한다고 한다.
AWS 자격증을 취득하면서, 100% 모르는 내용은 아니었고 어느 정도 사용했었기 때문에 약 30~40%가 모르는 내용이었다. 그렇기 때문에 공부하는 데 굉장히 흥미가 생겼고, 빠르게 강의를 듣고 자격증을 준비했다.
현재 슈퍼컴퓨터를 관리하는 일을 하게 되면서, 쿠버네티스를 사용하지는 않지만 꽤나 비슷한 Slurm이라는 슈퍼컴퓨터 클러스터링 툴을 사용하면서 더더욱 쿠버네티스에 대한 관심이 생겼으며, 위 내용을 계기로 쿠버네티스를 실기 형식으로 시험을 보는 CKA를 접수하기로 마음 먹었다.
본론
CKA 시험 설명 및 가격
CKA(Certified Kubernetes Administrator)는 Linux Foundation에서 주최하는 쿠버네티스 자격 시험이다. 시험을 진행하면 모든 문제는 쉘을 통해서 K8s를 직접 다루는 100% 실기 실험이다. CKA 말고도 CKAD 라는 Developer가 붙는 자격증도 있으며, ArgoCD, Istio, Prometheus 등 데브옵스가 다루는 툴들에 대한 시험이 많이 있다.
이 외에도 인프라 관련 내용을 다루는 다양한 자격증이 있으니 관심이 있다면 해당 사이트에서 살펴볼 수 있다. 여기서 가장 인기가 많은 자격증은 CKA로 많은 사람들이 응시한다. 나 또한 다양한 블로그 포스팅을 통해 CKA 자격증의 정보를 확인하고 취득하였다.
- [Linux Foundation] Certification : https://training.linuxfoundation.org/certification/verify/
가격
CKA라는 시험은 395 USD라는 살인적인 가격을 자랑한다(!) 달러 환율이 올라 지금은 무려 56만원씩이나 한다. 상술하였지만 CKA를 주최하는 리눅스 파운데이션에서 매년 12월 초에 사이버 먼데이라고 파격적인 할인을 제공한다. CKA만 두고 보면 50% 할인이고, 다양한 자격증을 묶어서 시험을 접수할 수 있는 티켓을 사면 65%까지 할인하는 등 꽤나 세일 통이 크다.
이 외에도 간간히 CKA 시험 할인 쿠폰을 제공한다. 50% 까지는 아니더라도 15%나 30% 정도의 할인 쿠폰은 꽤 자주 열리니 다양한 기회를 잡아보자. 이렇게 CKA를 구매하게 되면, 자신의 Linux Foundation에 CKA 시험을 접수할 수 있는 기회를 제공해주며, 구매 이후 1년간 언제든 날짜를 잡아 응시할 수 있다.
응시하게 되면 감독관의 명령에 따라서 주변 환경을 비추거나 신분증(여권)을 제시하는 등의 사전 작업과 함께 모든 작업이 끝나면 바로 실기 시험을 시작하게 된다. 그리고 CKA 시험은 다행히도 떨어지게 된다면 한 번 더 도전할 수 있는 기회를 제공한다. 만점은 100점이며 합격 커트라인은 66점이다.
CKA 시험 준비 과정
이미 다양한 CKA에 대한 블로그 포스팅을 보고 왔다면 알겠지만, udemy에서 마남바드 뭄샤드의 쿠버네티스 강좌가 제일 유명하다. 무엇보다 강좌와 함께 KloudKode라는 사이트에서 배운 내용에 대해서 직접 실습을 할 수 있는 기회를 제공하는데, 재미있게 쿠버네티스를 공부할 수 있게 해주고 배운 내용을 바로 적용하기 때문에 꽤나 머릿속에 잘 들어오는 느낌이었다.
쿠버네티스 실습 환경이 포함된 강좌는 뒤에 with Practice Tests라고 붙으며, 꼭 이 강의를 구매하는 것을 추천한다. 지금은 할인이 적용되지 않아 110,000원으로 찍혀있지만, udemy는 가격 할인을 진짜 엄청 자주 진행하기 때문에 매일매일 확인하는 것을 추천한다. 너무 급하다 싶으면 udemy를 가입하면 바로 세일을 해주기 때문에 회원가입을 다른 계정으로 진행하는 것도 방법이겠다.
영어로 된 강의이며, 한글 자막은 제공하지 않는다. 애니메이션과 함께 워낙 강의가 잘 되어있어 영어를 엄청 잘하는 수준이 아니더라도 적당한 수준과 쿠버네티스와 같은 오케스트레이션 툴에 대한 기본적인 이해가 있다면 쉽게 이해할 수 있을 것이다. 나는 그래도 한글로 읽는 편이 편하기 때문에 한글 자막을 자동 생성해주는 것을 돕는 chrome extension을 설치하여 강의를 수강하였다. 이 부분도 강추한다!
- [chrome 웹 스토어] udemy 한글 자막 : https://chromewebstore.google.com/detail/udemy-%ED%95%9C%EA%B8%80-%EC%9E%90%EB%A7%89-google-%EB%B2%88%EC%97%AD-dee/deobfkgpcfnaelcfeiihpahnejpakgjj
위 chrome 확장을 설치하고 나서 udemy 강의를 보면 영어 자막과 함께 한글 자막을 볼 수 있어서, 나는 둘다 한영 자막 모두 켜놓은 상태로 진행하였다.
그리고 공부 과정은 먼저 강의를 다 들으며, 들으면서 몰랐던 내용이나, yaml 파일 작성법에 대해서 매 강의마다 필기를 남겼다. 그렇게 강의는 한 번만 봤으며, 보고 나서는 필기를 보면서 계속계속 복습을 하였다. 복습을 하는 과정에서 손맛을 느끼기 위해서 minikube를 설치해서 직접 다양한 실험을 해보고, 다양한 것들을 만들고 부셔보면서 실습을 통해서 좀 더 익혔다.
내가 실습했던 환경인 minikube나 관련 세팅들에 대한 포스팅은 먼저 남겨 두었으니 해당 포스팅을 첨부한다.
- [marsboy] 로컬 쿠버네티스 클러스터 환경 세팅 : https://marsboy.tistory.com/63
시험 난이도
udemy의 모든 강의를 다 듣고나서 다양한 문제들을 풀어보았을 때는 처음에 꽤나 어려웠던 거 같다. 아마 udemy 강의의 마지막 mock exam 2번에서 한 50% 정도의 정답률을 기록했던 것 같다. 시험은 총 17문제로 120분 동안 풀이하는 것인데, 실제 시험의 난이도는 mock exam2, mock exam3 난이도 보다 살짝 높았던 것 같다.
killer.sh
그리고 CKA 시험을 예약하고 나면 killer.sh라고 하는 사이트에서 원격 접속을 통해서 문제를 풀어볼 수 있게 한다. 두 개의 세션에 접근할 수 있는 기회를 준다. 난이도는 이름에 걸맞게 극악에 가깝고 나는 처음 하나를 봤을 때에는 제한시간 안에 풀 수 있는 문제가 많지 않았다. 세션이 끝나면 답지를 제공해준다.
두 번째 killer.sh에서는 각오와 준비를 하고 풀어서 어려운 문제이기 때문에 당연히 제한시간 안에 다 풀지는 못했지만, 첫 번째 세션과 거의 유사하게 나왔기 때문에 첫 번째 세션의 답지를 보고 왔기 때문에 꽤나 풀 수 있었다. 두 번째 killer.sh에서는 꼭! ETCD 백업이나 쿠버네티스 클러스터 업그레이드와 같이 중요한 부분은 무조건 해보고, 자신의 방법이 틀리지 않았는 지 검증해보자. 기출 문제에 대해 정리한 내용은 아래에 첨부한다. 꼭이다!
이 killer.sh에서 가장 중요한 것은 시험 환경을 익힐 수 있다는 점이다. 실제 시험에서는 원격 접속을 통해서 문제 풀이를 진행하기 때문에 MacOS 기준이었던 복사 붙여넣기가 commnad + C 그리고 V가 아니었고, 원격 접속한 환경 내에서는 control + C/V 그리고 환경 내의 터미널에서는 control + shift + C/V 였다. 이러한 부분과 검색을 하는 데에 있어서 firefox를 사용하는데, killer.sh에서도 똑같이 파이어폭스를 제공해주기 때문에 killer.sh에서 멘탈이 흔들리지 말고, 현장감만 느끼고 오는 것을 추천하는 편이다.
기출 문제 ( 중요 !!!! )
다른 사람에게 CKA 시험을 추천할 때 어렵지 않다고 말할 수 있는 이유는 단연 기출 문제들이 정해져 있다는 점이다. 시험 직전에 기출 문제들을 포스팅한 내용을 살펴보았는데, 그대로 시험에 나왔던 것 같다. 물론 케이스 바이 케이스이기 때문에 예외는 있겠지만 나오는 문제들은 정해져 있기 때문에, 자주 보았던 내용들을 첨부하면 아래와 같다.
- 쿠버네티스 클러스터 업그레이드
- ETCD backup 및 restore
- 스케줄 관련 ( kubectl drain node ... )
- 네트워크 관련 ( nodePort 타입의 service를 만들거나, Ingress 문제 )
- Deployment 관련 ( 레플리카 셋을 늘리거나, deployment가 제대로 안 늘어나는 문제 )
- 트러블 슈팅 ( describe 로 살펴보면 설정이 이상하게 되어있거나, kubelet이 정상 동작을 안하는 문제 등 )
위와 같이 어느 정도 나오는 내용이 정해져 있기 때문에, 위 내용은 꼭꼭 반드시 잘 짚고 넘어가자!! 관련된 글을 보았지만, 제대로 짚고 넘어가지 못해서 몇몇개는 아쉽게 틀렸던 것 같다. 혹은 문제 풀이가 너무 오래 걸렸다. 기출 문제를 정리한 내용은 아래에 남겨두었다.
- [marsboy's tistory] CKA 기출 문제 정리 : https://marsboy.tistory.com/68
친절한 시험 환경
간혹 네트워크 문제가 있어 원격 접속이 쉽지 않았다는 사람이 있지만, 시험 환경 자체는 되게 친절하다. 후술하겠지만 쿠버네티스 공식 문서와 블로그를 보는 것만 허용되어 있기 때문에, 시험을 보기 전까지 단련해야 하는 것은 kubernetes 공식 문서만을 보면서 다양한 문제들을 해결하는 것이다.
이렇게 문제를 푸는 과정 또한 위 레퍼런스에 정리해두었으니 함께 참고해주었으면 한다.
CKA 시험 시작
시험을 시작하려면 리눅스 파운데이션 홈페이지에 있는 시험을 접수했던 곳과 똑같은 곳에 take exam이 활성화되어있는 부분을 눌러 진행하면 된다. 시험 시작 30분 전부터 링크를 통해서 들어갈 수 있는 환경을 제공해준다. PSI라는 프로그램이 깔려 있어야 시험에서 쓰는 원격 환경에 접속할 수 있는데, 만약 PSI 세팅이 안 되어 있다면 꼭 일찍 들어가자! 일찍 들어가서 시험장 주변을 촬영하게 하는데, 그러한 작업들이 끝나면 바로 시험을 시작하기 때문에 30분 전부터 일찍 들어가는 것을 추천한다. PSI 세팅이 되어 있다면 느긋하게 들어가도 될 것 같다.
그리고 문제를 PSI라는 프로그램을 사용하기 때문에 kodekloud 환경이나 killer.sh 환경에 비해서 가장 좋은 환경을 제공해준다. flag를 통해서 모르는 문제를 체크해두고 나중에 돌아와서 풀 수 있게 해주거나, 문제와 관련된 키워드의 쿠버네티스 공식 문서를 아예 레퍼런스를 달아두어 그냥 누르면 바로 쿠버네티스의 공식 문서로 접근할 수 있게 해준다.
또한, 세팅이 꽤나 복잡하게 잘 되어있기 때문에 매번 kubectl config set-context를 통해서 컨택스트를 변경해서 시험을 진행해야한다. 처음에는 놓치지 않고 잘 하게 되어있지만, 시간에 쫓기다 보면 깜빡하고 "어 왜 안되지" 할 수 있는 부분이기 때문에 유념해두자.
마지막 시험 환경의 팁은 생각보다 문제 설명이 잘 되어있기 때문에 꼼꼼히 읽는 것이 중요하다. curl 명령어를 쓰는 방법을 알려주거나 ssh나 sudo -i를 통해 문제를 풀도록 알려주는 것처럼 기본적인 리눅스 사용 방법에 대해서는 다 알려준다. 사람을 낚으려고 내는 함정 문제들은 없으며, 기출 문제를 다 풀줄 안다면 손쉽게 통과할 수 있을 것이다.
정리
물론 고득점으로 합격한 것은 아니기 때문에, 막연하게 쉽다! 라고 이야기하는 건 조금 웃길 수도 있지만, 앞서 이야기했던 기출이 정해져있다는 점과 시험 환경이 친절하기 때문에 생각보다는 쉬웠다고 느꼈다.
정리하면, 먼저 기출은 반드시 여러번 짚어봐야한다. 그리고 많은 사람들이 이거는 꼭 나온다고 입이 닳도록 말하는 것들은 확실하게 풀 줄 알아야 한다.
그리고, killer.sh의 첫 번째 세션은 편한 마음으로 본 후, 답지를 열심히 보는 것을 추천한다. 그 후에 두 번째 killer.sh를 보게 되면 어느 정도 풀 수 있게 되면서 현장감을 제대로 체험할 수 있다.
마치며
어디선가 까먹은 곳이 있어서 고득점은 아니다. 아마 sidecar 패턴으로 컨테이너를 하나 더 띄워서 로그를 추출해내는 부분이었던 것 같은데, 너무 어려웠다...
시험은 끝났지만 그렇다고 쿠버네티스에 대한 공부는 이제 끝이 아니라 이제 시작이라고 생각한다. 시험에서 풀지 못했던 사이드카 패턴으로 로그를 tail -f로 뽑아내는 멀티 컨테이너 파드를 만드는 방법을 공부하면서 기출 문제를 좀 더 정리해야겠다고 생각한다.
참고에는 시험을 준비하기 전에 봤던 좋은 레퍼런스를 첨부한다. 이 포스팅보다 훨씬 정리가 잘 되어있기 때문에 다음의 레퍼런스도 추천한다.
참고
- [seongjin.me] CKA 합격 후기 및 팁 : https://seongjin.me/how-to-prepare-cka-exam/
- [allssu] CKA 자격증 취득 후기 : https://www.allssu.com/blog/cka-certification-review/
감사합니다.
'후기' 카테고리의 다른 글
[AWS Solutions Architect] SAA-C03 합격 후기 및 팁 (5) | 2024.10.16 |
---|