CKA 합격 후기

cert.png

2025년 6월, 올해 따기로 결심했던 자격증 중 하나인 CKA에 합격했다. 개정된 시험 포맷 이후 치른 시험이었고, DevOps, MSA 아키텍처, 인프라 자동화에 깊은 관심을 가져오던 나로서는 하나의 마일스톤이 되었다.

이 글에서는 내가 CKA에 합격하기까지 어떤 전략과 학습 경로를 거쳤는지, 어떤 부분에서 시간을 쏟았는지, 그리고 실전 시험에서 어떤 식으로 접근했는지를 공유하려한다.


왜 CKA인가?

나는 온프레미스 환경(Proxmox)에서 kubeadm을 이용해 직접 Kubernetes 클러스터를 구축한 경험이 있다.
여기에 MetalLB, Calico CNI, Ingress, Istio, Helm 등을 직접 적용해보면서, Kubernetes는 나에게 단순한 관심사를 넘어 직접 다루고 싶은 도구가 되었다.

나는 백엔드 개발자이지만, 나 스스로를 단순히 “백엔드 개발자”로만 규정하고 싶지 않았다.
프론트엔드부터 인프라, 운영까지 전반적인 흐름을 이해하고 다룰 수 있는 개발자가 되고자 했고,
그 과정에서 자연스럽게 DevOps와 인프라 자동화에 깊은 관심을 갖게 되었다.

이런 배경에서 Kubernetes를 이해하고 있다는 것을 증명할 수 있는 자격증이 필요했고, 단순히 “나 쿠버네티스 알아요”라고 말하는 것보다, 공인 자격증이라는 형태로 실력을 입증할 수 있는 수단이 있으면 더 큰 설득력을 가질 수 있다고 판단했다.


준비 방법

학습 자료

  • Udemy 강의: [Mumshad Mannambeth의 CKA 강의]는 CKA 준비의 정석이라 불릴 만큼 훌륭했다. 특히 실습 환경을 빠르게 세팅할 수 있는 Killer.sh 스타일의 구조가 유용했다.
  • Kubernetes 공식 문서: 시험 중 열람 가능하기 때문에 링크 구조를 외우고 익숙해지는 것이 핵심이다.
  • 실습 중심 학습: 대부분의 문제는 실습 기반이기 때문에, kubectl, vim, etcdctl 명령어에 능숙해지는 것이 중요했다.
  • 도서 학습
    • 『그림과 실습으로 배우는 도커&쿠버네티스』(⭐️⭐️): 도커와 쿠버네티스를 처음 접하는 사람에게 추천할 수 있는 입문서. 너무나 기초적인 내용이기 때문에 별 도움이 되지는 못했다.
    • 『핵심만 콕 쿠버네티스』(⭐️⭐️⭐️): 시험과 실무에 필요한 핵심 개념만 뽑아 정리된 구성으로, 빠르게 정리할 때 유용했다.
    • 『컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커』(⭐️⭐️⭐️): 인프라 환경을 실제로 구축해보며 쿠버네티스를 익힐 수 있는 실전형 도서.

도서 학습의 경우는, 새로운 업데이트가 없기 때문에 발행년도를 주의깊게 살펴봐야한다. 나의 경우는 IT 서적을 살때 가장 중요하게 생각하는 것 중 하나가 발행년도이다.

도서 학습은 크게 추천하지 못하겠다. 왜냐하면 이번 개정판에 포함되는 내용인 Helm, Kustomize는 물론이고, Ingress를 점차 대체하게될 Gateway API에 관한 내용도 찾아보기 힘들었다.

환경 구성

  • Proxmox 기반 가상화 환경에 Ubuntu 22.04 서버 3대를 구성하고, 직접 kubeadm으로 HA 클러스터를 구축했다.
  • Calico로 네트워크 구성, MetalLB로 외부 LoadBalancer 구성, Helm/Kustomize로 GitOps 방식 관리도 병행.
  • kubectl explain, --dry-run=client -o yaml, kubectl get events 등의 명령어를 평소에도 자주 사용하며 익숙해졌다.

아래는 실제 내가 운영 중인 홈 서버 클러스터이다.

shell.png


공부 방식

  • 실습 위주의 학습: 평소 토이 프로젝트를 Kubernetes 환경에서 직접 운영했다. Redis가 필요하면 Redis 클러스터를 구성하고 LoadBalancer를 붙였으며, 웹 UI나 API 서버는 Gateway API를 통해 외부에 노출시켰다.
  • 스터디 참여: 혼자서는 느슨해지기 쉬운 학습을 스터디를 통해 일정한 학습 리듬을 유지했다. 일종의 ‘숙제하는 기분’으로 강제 학습 효과를 얻을 수 있었다.
  • 미리 시험 결제하기: 결제 후 시험 일정이 정해지면 자연스럽게 긴장감이 생긴다. 만만치 않은 비용이 부담으로 작용하며 공부를 미루지 않게 해준다.
  • Killercoda / Killer.sh 실습 환경 사용: 시험과 유사한 환경에서 실습해보는 것이 실전 감각을 익히는 데 큰 도움이 되었다. 특히 Killercoda는 무료 서비스로, 여러가지 다양한 해결방법을 알게 해주어 큰 도움이 됐다.

예컨대, 유데미에서 제공되는 Mock Exam 만으로는 journalctl이나 crictl 관련한 트러블 슈팅을 경험해 볼 수 없었지만, killercoda를 통해 트러블 슈팅 해결능력을 많이 기를 수 있었던 것 같다.


실전 전략

  • 시험 시간: 2시간이라는 시간이 처음엔 길어 보일 수 있지만, 실제로는 절대 넉넉하지 않다.
    나의 경우, 마지막 문제 하나를 못 푼 상태로 30분이 남았고, 해당 문제는 포기한 채 처음부터 차근차근 내가 생성한 리소스들을 다시 검토하는 데 집중했다.

  • 트러블 슈팅: CKA에서 트러블 슈팅 항목은 전체 점수의 30%를 차지할 만큼 중요하다.
    대표적인 예로 kubelet이 먹통이 되었을 때의 대응 순서를 암기해두면 훨씬 수월하다.
    나는 먼저 sudo systemctl status kubelet로 kubelet이 running 상태인지 확인하고, 런타임이 containerd면 crictl ps, docker면 docker ps를 통해 리소스 상태를 점검했다.
    그리고 각 Kubernetes 리소스가 어디에 위치하는지 알고 있으면 문제 해결이 더 빨라진다. 예를 들어:

    • 인증서 키 파일: /etc/kubernetes/pki
    • static Pod manifest: /etc/kubernetes/manifests
    • kubelet 설정 및 상태 정보: /var/lib/kubelet
  • 시험 환경: 시험은 로컬 터미널이 아니라 PSI 브라우저에서 제공되는 가상화된 환경에서 진행된다.
    이 환경은 Killer.sh에서 제공하는 연습 환경과 거의 동일하므로, 반드시 사전에 익숙해져야 한다. (시험 응시 시 2회 무료 제공된다.)

    나는 Mac 사용자인데, 시험환경에서는 복사 단축키가 command+c가 아니라 control+c였다.
    그리고 브라우저 자체에 포커스가 있느냐, 터미널에 포커스가 있느냐에 따라 단축키도 달라지는데, 터미널에선 shift 키까지 눌러야 하는 경우도 있다.
    익숙하지 않으면 자꾸 파이어폭스 개발자 도구가 열리는 등의 문제가 발생할 수 있어서, 단축키와 키보드 사용법에 익숙해지는 것이 중요하다고 느꼈다. 렉이 정말 심하기 때문에 한번의 실수로 몇 분을 날려먹을 수도 있다.


합격 후 느낀 점

CKA는 단순한 “암기 시험”이 아니라, 실제로 클러스터를 운영할 수 있는 실력을 요구하는 실전형 시험이다. 객관식 암기시험이 아닌 실무 중심 시험이라는 점에서 실제로 쿠버네티스 운용 능력이 향상되었다는 사실을 체감할 수 있었다.