2024. 7. 21. 23:06ㆍ카테고리 없음

작년 블프에 신청한 CKA 시험을 드디어 합격으로 마무리했습니다.
공부하는 과정에서 느낀 것들과 시행착오, 얻은 팁들을 정리해봅니다.
추가로 궁금한 부분 있으시면 편히 댓글 남겨 주세요!
시험 소개
CKA는 Ceritfied Kubernetes Administrator 의 약자로, 한국어로는 '쿠버네티스 관리자' 정도로 번역할 수 있을 것 같습니다. 개인적으로 느끼기에는, CKA는 복잡하지 않은 서비스를 쿠버네티스로 구성하고 배포도 할 수 있는 수준을 요구하는 것 같아요.
시험에서는 2시간 동안 17문제를 직접 풀어서 구현하게 되고, 커트라인은 66점입니다.
시험 준비 방법
모두가 듣는 그 뭄샤드 아저씨 강의 를 듣고 연습문제를 풀었습니다. 할인 무지 자주 하니 2만원보다 비싸면 기다리는 걸 추천합니다.
1. 첫번째 사이클: 강의듣고 딸린 kodekloud 연습문제를 풀었습니다(모의고사 제외). 공식문서 찾는 게 어려워서 그냥 구글링하고 답지도 보면서 풀었습니다.
2. 두번째 사이클: 반대로 kodekloud 연습문제를 풀면서(모의고사 포함) 모르는 부분 강의를 들었습니다. 이번에는 공식문서만 보면서 풀었습니다.
3. 세번째 사이클: kodekloud 연습문제+모의고사만 풀었습니다
4. 모의고사만 두세번쯤 풀었습니다.
5. 64점으로 떨어집니다ㅠㅠ
제가 너무 많은 부분을 버렸었고, kodekloud보다는 문제 지문이 조금 길고 복잡해서 익숙치 않은 게 패인이라고 진단했습니다.
6. 버렸던 부분 연습문제 다시 풀고, 모의고사 두세번쯤 풀고, killercoda 에서 (killer.sh 플랫폼의 다른 문제들) 긴 문제들을 접해봤습니다.
killer.sh는 너무 어렵다는 후기가 중론이고 저도 마찬가지로 구경만 했습니다.
kodekloud의 단원 연습문제들은 좋은 문제들이지만 시험에서는 1문제로 나올 것들이 3-4문제로 쪼개진 경우도 많습니다. 이런 부분들을 killercoda 에서 연습할 수 있어서 저에게는 도움이 많이 되었습니다.
7. 70점으로 합격했습니다 🎉
백그라운드
부끄럽지만 시험을 고민하시는 분들이 난이도나 분량을 가늠하는 데 도움이 되었으면 해서 추가합니다.
k8s 에 관심만 가지고 있었고 도커도 써본 적 없었습니다. 엔지니어링 백그라운드 정도만 있는 상태였고 현재 근무경력은 만 1년이 다 되어갑니다. 현재 직접 k8s 관련 업무를 하고 있지는 않습니다. 시험과 강의가 영어라 영어에 불편함이 없다는 점은 장점이었을 것 같습니다.
중간중간 다른 일정으로 멈췄다 다시하고 했는데, 합산해보니 한번에 쭉 했다면 2개월 정도 걸렸을 것 같습니다 (평일 퇴근후 1~2시간, 주말 중 하루 풀타임). 다만 저는 컨테이너와 이미지가 구분이 안 되는 상태에서 시작했기 때문에... 도커를 써보신 분들은 덜 어려울 듯 합니다.
팁
- (시험의 관점에서) 어차피 백점 맞아야 하는 시험 아니니까 버릴거 과감하게 버립니다.
저는 트러블슈팅 고배점이지만 제꼈습니다. 오타찾기가 힘들더라구요... 눈도 아프고...
그치만 너무 많이 버리시면 저처럼 64점탈 하는 슬픈 일이 생길지도 몰라요.
- 아슬아슬한 점수차로 떨어지면 최대한 빨리 재시험 보세요. 떨어지고 좀 쉬었다가😂 2주 후에 다시봤는데, 거의 문제 똑같이 나왔습니다.
- 문제에 배점이 안 나와서 점수 예상하기가 힘들어 저는 처음에 조금 당황했습니다. 참고하세요!
- 쉬는시간을 15분씩 100번, 사실상 무제한으로 사용할 수 있습니다. 문제풀다 꼬이거나 당떨어진다거나 하면 쉬어가면서 하세요.
덧붙이면 그만큼 시간을 엄청 길게 잡아먹을 수 있기 때문에 뒤에 약속을 잡는다면 시간을 넉넉하게 잡으시는 걸 추천합니다.
저는 방검사+쉬는시간+시험시간 합쳐서 3.5시간쯤 걸렸습니다.
- 리눅스 명령어 숙달 (vim, grep, find, watch)
뭄샤드 강의에선 크게 언급이 없지만, 리눅스에 익숙하지 않으신 분들도 저 4종류는 잘 숙지해두세요. 요긴하게 썼습니다.
기출문제 (24.06, v1.30기준)
아마 이게 제일 궁금하시겠죠! ㅋㅋㅋㅋㅋㅋ 일단 저는 그랬습니다.
- etcd snapshot & restore
- 클러스터 마이너 업그레이드 (1.30.0 ->1.30.1) + control plane node만 업그레이드
- 트러블슈팅
- service expose + network policy(특이사항: 포트번호에 name을 같이 지정해줘야 했음)
- ingress
- deployment-rolling upgrade
- pod-double container + share volume
- RBAC
- 특정 노드에 static pod 생성
- daemonset 생성
- 이미 있는 taint 활용, 특정 노드에 배치 pod 배치
- pod에 라벨달기
- 특정 내용 포함한 log 검색해서 저장
- pv만 생성
- pvc 생성 + pod에 마운트(요구 권한이 rwo 인지 1.29에 추가된 rwop인지 헷갈림. 틀린듯)
- 특정 라벨 가진 pod 중 사용량 가장 많은 pod 이름 저장
합격증과 쿠버네티스 지식 외에 얻은 것들도 있습니다.
- 공식문서 포비아 탈출: 막연한 두려움이 있었는데 이젠 넘어선 것 같습니다.
- 퇴근 후 공부하는 습관 들이기: 지금도 꾸준히 이어가고 있습니다.
마지막으로 시험을 권해주고 합격했을 때 자기 일처럼 기뻐해 주신 회사 분들께 감사를 전합니다!