[Kubernetes] 2025 CKA 준비 과정 및 시험 후기 (feat. 시험 팁)
Kubernetes

[Kubernetes] 2025 CKA 준비 과정 및 시험 후기 (feat. 시험 팁)

CKA 관련해서 이미 많은 후기들이 있지만, 저도 후기를 통해 많은 정보를 얻었기 때문에 다음 준비하시는 분들께 조금이라도 최신 정보를 드릴 수 있기를 바라며 적습니다.

 

제 시험 날짜는 2025년 1월 30일이었고 kuberntes 버전 v1.31 이었습니다.

 

시험 준비


시험 준비 전 백그라운드 지식이 어느정도 있었는지?

저는 현재 5년차 서버(백엔드) 개발자로 어느정도 kubernetes와 docker에 대한 경험이 있었습니다. 깊은 지식까지는 없었고 docker가 무엇이고 어떻게 탄생하게 되었고 어떤 기술적인 장점이 있는지, container orchestration이 무엇이고 어떻게 kuberentes가 탄생하게 되었는지 정도만 알고 있었습니다.

 

docker와 kubernetes를 사용하여 서비스를 배포하고 운영도 했지만 모든 resource에 대해서 잘 알고 사용하지는 못했습니다. pod 단위로 배포가 가능하고 deployment로 배포하면 scale이 용이하고 service를 연결하면 외부와 연결할 수 있다는 정도의 정말 서비스를 실행시키기 위한 최소한정도만 알았던 것 같습니다.

 

하지만 이정도만 알아도 CKA를 준비하는데 있어서 큰 도움이 됐던 것 같습니다.

 

준비 기간

시험 준비를 위해 사용한 총 시간은 약 2~3주 정도 되는 것 같습니다.

 

2024년 12월 말쯤에 긴 휴가가 있어서 일주일정도 시간을 내서 udemy 강의를 전부 들었고 이후 회사와 다른 일들로 바쁘게 지내다가 2025년 설 연휴에 집중적으로 시험 공부를 진행하고 시험을 치뤘습니다.

 

얕지만 docker와 kuberenetes를 사용해본 경험이 있었고 기본적으로 서버 개발자로 실무를 진행하면서 쌓아둔 linux 및 네트워크 지식이 있었기 때문에 가능했던 것 같습니다. 만약 제가 신입 개발자였거나 개발자가 아니었다면 이 정도 기간으로 준비하기는 어려웠을 것 같습니다.

 

강의

그 유명한 udemy의 뭄샤드 선생님의 강의(https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/)를 들었는데 역시 명성에 걸맞게 기가막힌 설명과 커리큘럼이었습니다. 시험도 시험이지만 전반적으로 kubernetes를 포함해서 network, tls등 서버 운영 전반에 대한 이해를 높이는데 많은 노력을 해주는 것 같아서 정말 좋았습니다.

 

udemy 강좌를 구매하면 무료 제공해주는 kodecloud라는 실습 환경도 정말 좋았습니다. 직접 kubernetes cluster 환경을 구성하지 않아도되도록 환경을 제공해주고 각 실습 문제에따라 상황에 맞는 설정(예를 들어 worker node를 의도적으로 망가뜨림)이 제공돼서 오로지 kubernetes 운영 연습에만 집중할 수 있었습니다.

kodekloud 화면. 몇번이고 다시 할 수 있고 토픽별로 환경이 다르게 구성되어 있다.

 

공부 과정

GPT 4o 선생님 - 기본적으로 이번에 ChatGPT 4o와 함께 공부를 진행했는데 너무 많은 도움이 되었습니다. 검색보다 신뢰할 수 있는 정보를 훨씬 빠르게 얻고, 이해가 안되는 부분에 대해 계속해서 꼬리질문을 해도 바로바로 대답을 해주니 정말 하나에 대한 궁금증이 생기면 속이 시원해질 때까지 질문할 수 있어서 너무너무 좋았습니다. 혹시 유료버전 사용자라면 꼭 같이 공부하는 것을 추천드립니다.

 

1. udemy 강의 + 실습 문제 + mock exam + lightening lab

    - 다른 후기에서도 자주 나오는 내용이지만 실제 시험 난이도는 udemy의 mock exam정도와 유사합니다. 여기서 연습을 많이 해놓으면 충분히 합격하실 수 있을겁니다.

2. killer.sh(linux foundation에서 제공해주는 모의 시험) 반복적으로 풀기

    - 실제 시험 환경과 굉장히 유사하기 때문에 시험전에 꼭 경험해보는 것을 추천합니다. 여기서 복사/붙여넣기를 하는 것과 환경에 익숙해져야 실제 시험에서 당황하지 않을 것 같습니다.

    - 실제 시험보다 난이도가 훨씬 높습니다. 여기서 고득점을 받을 정도로 연습하면 실제 시험은 시간도 널널하고 아주 쉬울겁니다. 제가 그랬습니다.

3. kubernetes 공식 document 사용 연습

    - 실제 시험에서도 공식 document에서 찾아볼 수 있고 그 많은 resource 관련 필드나 yaml파일 형식을 외울 수 없기 때문에, 어디에 가야 어떤걸 찾을 수 있는지 아는게 중요합니다

    - 인터넷 후기를 찾아보면 예전에는 직접 사용자 원하는 브라우저를 사용할 수 있어서 즐겨찾기에 필요한 페이지를 등록하는것도 가능했던 것 같은데 지금은 PSI라는 보안 브라우저(?)에서 진행되고 이 브라우저는 시험 당일 전에는 사용할 수 없기 때문에 즐겨찾기 활용은 불가합니다.

4. alias 사용 연습 (이건 팁 부분에 더 상세하게 적겠습니다)

 

CKA 시험 자체가 이론보다는 실습으로 진행되기 때문에 어떻게 보면 시험을 보는 스킬만으로도 취득이 가능하다고 생각하지만 기본적으로는 kubernetes에서 이런 기능 또는 개념이 왜 존재하고 어떻게 사용되는지를 이해하면 어떤 문제가 나와도 수월하게 풀 수 있다고 생각합니다. 이 과정에서 GPT가 정말 큰 도움이 되었습니다.

 

시험


시험 신청

- 시험 자체는 24시간전에만 신청하면 신청이 가능합니다. 저는 화요일에 목요일 18:00 시험으로 신청하였습니다.

- 시험 신청을 하면 위에서 말했던 killer.sh 를 체험해볼 수 있게 링크를 전달해줍니다. 총 세션을 2번 열 수 있게 해주는데 한번 세션을 시작되면 12시간정도 지속되고 계속해서 해당 환경을 사용할 수 있습니다. 채점도 할 수 있고 세션을 리셋할수도 있습니다(당연히 남은 시간이 리셋되지는 않습니다). 세션을 2번 열 수 있게 해주는거라 두번째 세션을 연다고 해서 모의 시험 문제가 바뀌지는 않습니다.

- 만약 떨어지면 무료 retake가 한번 가능하다고 하니 어느정도 준비되었다고 느끼면 한번 정도 편하게 보시는것도 좋을 것 같습니다.

 

시험 30분전 시험 환경 세팅

- 시험 보기(take exam) 버튼이 시험 30분전에 활성화가 됩니다.

- 시험 보기 버튼을 누르면 이전에도 안내가 되었지만 시험을 위해 숙지하여야하는 정보를 한번 더 알려줍니다.

    - 시험을 치룰 수 있는 장소 규정: 카페같은 퍼블릭한 장소 안됨 등등

    - 필수 준비물: 웹캠, 마이크(귀에 꽂고 사용하는 에어팟 같은 마이크는 불가, 나중에 감독관이 카메라로 귀까지 확인함)

- "원격으로 감독관과 연결" 버튼 클릭하면 PSI 브라우저를 다운받을 수 있습니다.

- 설치가 완료되고 실행하면 갑자기 전체화면으로 전환되면서 마이크 체크, 종료해야하는 프로그램 체크 등 여러 체크가 이루어집니다. 종료해야하는 프로그램은 작업 관리자를 통해 프로세스를 직접 죽이는 방법으로 진행하시면 되겠습니다.

- 이후 시험 환경 체크가 진행되고 웹캠으로 현재 시험을 치는 장소를 구석구석 보여달라는 요구가 채팅으로 들어옵니다. 벽, 천장, 방 전체, 책상 밑, 마우스 키보드 마우스패드 밑, 이어폰이 금지되어있으니 귀를 보여달라 등등

- 체크가 완료되면 이제 진짜 시험이 시작됩니다. killer.sh와 거의 100% 동일한 환경입니다.

 

시험

- 총 17문제였고 난이도는 killer.sh에 비해서 굉장히 쉬웠습니다.

- 다만, context를 계속해서 바꿔야하고 특정 namespace에서 작업하거나 특정 node에서 작업하라는 내용이 문제에 들어있기 때문에 문제를 꼼꼼하게 읽는것이 가장 중요한 것 같습니다. 올바르지 않은 node나 context, namespace에서 진행하면 아무리 완벽하게 풀어도 0점처리가 될 수 있기 때문에..

- 시간이 남으면 한번 더 꼼꼼하게 1번문제부터 체크해보는 것을 추천합니다. 그리고 되도록이면 kubectl get, describe 커맨드를 이용해서 실제로 생성된 resource도 같이 확인해보는게 좋을 것 같습니다.

 

저같은 경우는 시험을 종료하고나니까 떠오른게... network policy를 yaml파일로 생성하고 yaml파일만 검증하고 apply를 안한게 생각이 났습니다.. 그래서 한문제를 허무하게 날린 것 같네요. 여러분은 이런 실수 안하시길 바랍니다.

 


alias, 환경변수, vimrc 활용

기본적으로 kubernetes 커맨드는 단축어가 있기는 하지만 단축어 없이 긴 명령어들이 꽤 많습니다. 따라서 저는 다음과 같이 설정하여 명령어를 입력하는 시간을 단축했습니다 (alias k='kubectl' 은 이미 적용되어있음)

 

.bashrc 가장 하단에 다음 적용

alias kd='k describe'
alias krp='k replace --force --grace-period=0 -f'
alias kapp='k apply -f'
alias ksys= 'k get pod -n kube-system'

alias kcurr='k config get-contexts' # 모든 context를 목록으로 보여주지만 목록에서 현재 context와 namespace를 보여줌
alias kn='k config set-contexts --current --namespace' # 현재 context에 namespace 설정

export do='--dry-run=client -o yaml'
export sys='-n kube-system'

 

.vimrc 하단에 다음 적용

set autoindent # 줄바꿈시 알아서 indent를 적용해줌
set cursorcolumn # 현재 커서에 세로로 하이라이트된 줄이 보이게 해줌

 

느낀점


저는 killer.sh와 시험 난이도가 비슷할 줄 알았는데 훨씬 쉬워서 조금덜 준비하고 봤어도 합격은 하지 않았을까 생각이 들었습니다 ㅎㅎ; 그리고 CKA 기출문제라고 검색하면 많은 분들이 올리신 기출 문제들이 있는데 거기서 나온 문제가 많아서 시험 문제가 잘 안바뀌는구나 하는 생각도 들었습니다 ㅋㅋ.. 특히 etcd 백업 및 복구는 정말 반드시 나오는 문제같네요

 

생각보다 버전이 올라가는 속도가 빨라서 자격증이 있다고해도 계속해서 공부해야하지 않나 싶습니다. 그리고 CKA 시험에서 다루지 않는 resource들도 있기 때문에 아직 모르고 있는 부분도 알아가보고 싶네요. 만약 준비는 했지만 완벽하게 준비가 안된것 같아서 시험이 망설여지시는 분이라면 일단 시험을 봐보는 것을 추천드립니다 killer.sh만 전부 풀어보셨어도 아마 합격하실겁니다.

 

기출 문제는 다른글에서 따로 정리해서 올리겠습니다. 복기를 해놔서 17문제 전부 기억하고 기록해놨습니다.

 

결과


96점으로 합격했고 아마 4점이 까인건 위에서 언급했던 network policy를 yaml 파일로만 만들고 apply를 안해서 깎인게 아닐까 싶습니다.

 

 

궁금한 점이 있으시면 댓글로 남겨주세요~!