CKA시험 소개 및 공부방법, 자세한 후기
이 시험 후기는 2024/11/25 이전에 시험 볼 사람들에게 맞는 후기임.
<cka시험 업데이트 공지>
Certified Kubernetes Administrator (CKA) Program Changes - Linux Foundation - Education
Thank you for your interest in Linux Foundation training and certification. We think we can better serve you from our China Training site. To access this site please click below. 感谢您对Linux Foundation培训的关注。为了更好地为您服务,
training.linuxfoundation.org
2024/11/25일 이후로 CKA가 업데이트 된다고 함. 때문에 이 후기는 이전에 봤어서 이 날짜 이후로 시험들이랑은 다를 수가 있슴니다.
시험점수 및 시험 소개
2024년 10월 31일에 시험을 봤고 87점의 점수로 취득했다.
CKA시험은 응시료가 상당히 비싼 시험이고 요즘 추세인 kubernetes 클러스터의 개념을 얼마나 잘 알고 있느냐를 테스트하는 시험이다.
난 예전에 할인할때 산 시험 응시권(이마저도 28만원정도 했음 ㅡㅡ)으로 시험을 봤는데 1년 유효기간이라 미루다미루다 본듯.
시험준비 전 상태 & 얼마나 공부해야할까?
약 1년전에 이성미 강사님의 따배쿠로 k8s에 빠져서 약 한달정도 공부를 했었으나 그후엔 아예 만지질않아서 약 1년이 지난 최근에 시험을 볼 상태에는 기억이 희미했었다. 기본적인 run 커맨드도 기억안났었음..
'k8s/concept' 카테고리의 글 목록
지극히 이기적인 개발 블로그입니다.
jacobowl.tistory.com
configmap까지의 포스팅들 정도 개념수준이었는데 그 이후론 아예 손을 놓고있었음.
암튼 난 이 상태에서 CKA를 준비했고 시작한지 약 두 달 지나서 자격증을 취득했지만 이사하고 프로젝트 병행하고 이것저것 엘리스의 토끼굴에 빠진것들 제외하면 공부기간은 하루 세시간씩 3주정도 걸린 것 같다.
준비물
- 이성미 강사님 유튜브 따배 멤버쉽(월 6990원) - 따배씨만 들으면됨. 따배씨로 이해안되면 해당내용만 따배쿠 가서 찾아보샘
- 유데미 뭄샤드 수강(약 18000원 평생수강) - kode kloud 실습환경만을 위해서 구매함.
- CKA시험 응시권. (거의 원가 50만원 ㄷㄷ 할인할때 50%할인해서 난 28만원정도에 구매했음.)
- 리눅스 터미널 기본지식. - vim에디터는 필수다. vim 단축키(dd, set nu, u 이런거.. ), ssh접속, grep -i, bulahbulah> /file.path등 이정도는 알아야함.
- 기본적인 영어실력. 걍 고딩수준 영어만 할줄알아도됨. 감독관 채팅만친다.
공부방법
- 먼저 kodekloud 실습환경에서 core concept를 전부다 본다. 약 여섯 섹션인데 쉽다. 기본적인것들이니까 이정도는 숙달이 되야함.
Practice Test / Core Concept
PODSummary6번 / 멀티컨테이너 파드. describe으로 보면댐9번 / pod에러는 describe해서 event보면댐13번 / 이미지 에러뜬거 yaml수정하고 apply안되고 edit으로 고쳐야함vim에디터 줄 끝 $ # kodekloud https://identi
jacobowl.tistory.com
- 이후엔 mock exam을 순차대로 풀어보샘. 총 1,2,3이 있는데 뒤로갈수록 어려워지는듯?
Mock Exam - 1
Summary이번엔 모의시험이기 때문에 yaml딱히 필요없는건 빨리 지나가도록 하겠음.command다음에 --붙이는건 그 이후로 띄어쓰기 같이 포함하겠다임. 그래서 $samp를 앞에 써줘야함.pod에 문제생기면 lo
jacobowl.tistory.com
Mock Exam - 2
Summarycat > 파일경로 / cntl + Detcd 백업만 있음. restore도 꼭 연습해가야함. 실제문제에서 나왔음.그리고 시험환경에선 etcd백업할때 커맨드치는 노드가 controlplane node가 아니었음. ssh로 컨트롤플
jacobowl.tistory.com
Mock Exam - 3
Introduction뭄샤드 kode kloud - mock exam 3 Summary export samp="--dry-run=client -o yaml"export now="--force --grace-period 0" $samp, $now붙은건 이 명령어로 약어만든거니까 주의 Kubectl Reference Docs kubernetes.io # 1서
jacobowl.tistory.com
- 모르는 문제 마주치면 해당하는 개념 따배씨나 kode kloud practice에서 찾아서 풀어봄
- 다풀고 lightening lab풀어보샘. → mock exam보다 어렵다는 후기가 많았는데 난 mock exam 1,2,3다 풀고 보니까 비슷비슷했던것 같음.
Lightning Lab - 1
IntroductionLightning Lab - 1 문제 풀어보자.Summary export samp="--dry-run=client -o yaml"export now="--force --grace-period 0" $samp, $now붙은건 이 명령어로 약어만든거니까 주의 Kubectl Reference Docs kubernetes.io # 1클
jacobowl.tistory.com
- 이렇게 다 풀고도 기출문제에 나오는개념을 안배운게 좀 있을거임. 기출유형은 따배씨 강의 하나하나가 유형이니까 이걸로 알면되고, kode kloud 풀면서 기출이랑 안맞았던것들 체크해봤음. 아래사진처럼 체크박스 만들고 나오는거 안나오는거 체크하면서 대조함. 내가 쓴 포스팅에 추가적인 포스팅들로 좀 정리해놨음.. 다는 아니고..
- 안나오는것들은 따로 practice에서 해당내용 찾고 풀어봤다. (configmap, init container, sidecar container등등)
- mock exam 1,2,3 & lightening lab 이거 무한반복. 난 마지막경우 mock exam1은 10분, mock exam 2는 30분, 3은 30분, lighetening lab은 30분정도 소요할 정도로 연습했음. 그냥 문제자체가 거의 외워져서..
- 이 네 가지 lab에서 안나왔던 개념도 따로 정리해서 계속 확인하자.
팁
- 따배씨 첫강의에서 추천하는 북마크 안먹힌다! 연습할때 꼭 직접 공식문서 찾는 연습 키워드 알아두자. 시험볼때 필요한 yaml이나 커맨드가 어떤 검색어로 어떤 키워드로 검색할지 다 외워진 상태였다.
- 페이지로 들어가면 yaml위주로 검색하는데 시험환경에선 스크롤 겁나내리면 눈빠지니 kind위주로 검색하샘. 예를들어 persistent volume쓰는 pod만드는 yaml따려면 persistent volume페이지에서 ‘kind: pod’이걸로 검색하면 pvc쓰는 pod yaml쪽으로 이동해서 찾기쉬움. 스크롤만 불나게 돌리지마시고.
- export로 dry-run 하는거 설정하샘.
- 잘몬만든 pod바로 삭제안되면 시간날리니까 이것도 export로 하샘. 난 export now=’—grace-period 0 —force’이걸로 해서 kubectl delete pod muzzi $now로 바로 날렸음.
- 커맨드로 칠수있는건 최대한 커맨드로 치고 기본 yaml따는것도 시험환경 스크롤 졸라내려야하니 커맨드 dry run으로 따는게 좋은듯. 검토용으로도 쓸수있고..
- 사소한 실수 검토하는 방법도 생각하고 공부하면 좋다. 예를 들어 pv pvc만들고 get으로 bound확인하는거. 한글자라도 스펠링틀리거나 yaml틀리면 bound안되니까.
시험환경
- PSI브라우저라는 exe 파일을 실행해서 특수한 시험 브라우저로 시험을 보게된다. 시험 당일에? 다운받았었고 왼쪽에 시험문제, 오른쪽에 데스크탑화면이 있다.
- 뭄샤드 실습환경은 바로 오른쪽에 터미널이 떠있는데, PSI 브라우저에선 직접 cmd랑 브라우저(파이어폭스), 메모장등을 켜서 해야한다.
- 좌측 상단에 시작아이콘 비스무리한게 있는데 거기에 터미널, application - accessary쪽에 메모장이 있다.
- 화면 해상도가 졸라 크다. 그래서 스크롤 졸라내려야함.. 조절이되는지 안되는지 모르겠음. 때문에 단순히 원하는 자료가 있는 document가는방법만 연습말고 document들어가서도 어떤 키워드로 원하는 자료를 찾을지 익히고 가면 좋다.
시험직전 준비한거
- 영문명 나온 신분증 준비. 여권이 가장 무난함. 유효기간도 체크하니 꼭 유효한 여권으로 해야한다. 없거나 만료됐으면 얼른 가서 만드세요. 여권사진도 찍고 나오는 기간도 있으니 일주일전이 적당할듯.
- 노트북 모니터 연결. 시험에는 모니터 한개만 쓸수 있기때문에 화면 크게쓰려고 노트북이랑 모니터 연결하고 노트북은 덮었다. 아래 북마크 들어가서 하란대로하면 노트북 덮고 연결모니터 주모니터로 쓸수 있다.
- 노트북 닫아놔서 카메라 못쓰니 웹캠을 따로 샀다. 난 돈없어서 다이소 5000원짜리 웹캠을 썻는데 이거때문에 트러블 많이 발생함 ㅡㅡ 이 썰은 아래 설명할건데, 암튼 웹캠을 사면 좋은 이유가 감독관이 시험환경 카메라로 보여주라고 하는데 걍 캠만 들고 이리저리 비추는게 낫지 노트북 들고했다가 무거워서 팔빠지고 힘듬. 난 노트북이 꾸져서 들었다 놨따하면 재부팅이 되는 병신노트북이라 그냥 캠 하나 샀다. (이거때문에 AWS 시험도 개고생 ㅡㅡ)
- 마이크도 테스트 해보샘. 당일에 부랴부랴하지말고.
- 시험전날 방정리 해놨다. 강아지는 어쩔수 없어서 무찌는 걍 풀어놨고 간식줘서 조용히 시키고 시작함. 원룸이라 별로없는데 이불침대 정리하고 잡동사니는 싹다 베란다로 뺌. 티비나 이런건 그냥 이불 덮어놨음.
- 시험 날짜 정할때 환경테스트 있는데 그거도 해놓으샘.
- 시험직전 한두시간전에 mock exam1,2,3 & lightening lab후딱 한번 풀어놓고 kode kloud에 없는 기출유형, 헷갈리는 오답노트 정리한거 후딱봄.
노트북 덮개 닫고 모니터 연결하는 방법
안녕하세요. 노트북에 확장모니터 연결하고, 노트북 덮개를 닫으면 노트북과 모니터 같이 화면이 꺼지는데요. 노트북 덮게 닫아도 확장모니터 화면 안꺼지게 하는 방법에 대해서 알려 드리겠습
plan2018.tistory.com
감독관 시스템 & 감독관 요구사항
- 모든 감독관은 음성이 아니라 채팅침. 다행..
- 시험예약 시간 30분전에 들어가면 감독관이랑 테스트할수있다. 감독관은 채팅메세지로 요구한다.
- 먼저 체크인 부터 하는데 이 체크인 감독관이랑 실습환경 감독관이 따로있는듯?
- 먼저 신분증(난 여권) 보여주고 카메라로 바닥천장벽 책상 책상아래 전부다 보여달라고한다.
- 그리고 노트북아래 마우스패드아래 키보드아래 들어서 다 보여달라고하고 이상있는건 뺴달라고함. 난 모르고 노트북에 포스트잇 붙여놓은거 떼라고해서 똄.
- 원룸에 강아지 무찌 있는데 별말 안함.
- 물마실수있는데 라벨없는 페트병? 인가는 가능. 난 그냥 귀찮아서 물없다고하고 시험봄
- 핸드폰 보여달라고하고 보여주면 다른데에 치워달라고함.
- 중간에 break 시스템이라고 버튼누르면 쉬는시간주는건데 이것도 걍 귀찮았음. 리드미 이런거 다 알려주는데 그냥 다 안봤음.
- 단축키도 알려준다. control + shift + CV
- 체크인이 끝나면 실습?환경으로 깜빢이면서 넘어가는데 여기 감독관은 체크인 감독관이랑 따로임.
- 얘는 중간중간 요구사항있으면 채팅창 띄우고 뭐해라 요구함. (난 습관적으로 모니터 가까이 갔다가 입이 캠화면에 안잡혀서 감독관이 입보이라고해서 직각자세로 세번정도 고쳐앉음)
시험 환경 꿀팁 + 썰
- 될수있으면 노트북만으로 하지말고 모니터 큰거 쓰세요. PSI환경 자체가 프로그램이라 화면 개쫍아서 노트북으로 보면 눈빠짐..
- 시험환경에서 그 화면해상도?라고 하나 그게 크게 설정되어있어서 특히 document볼때 글자가 크다보니 한 화면에 내용이 별로 안들어온다. 설정하는 방법이 있는지 모르겠는데 난 control + f로 찾거나 스크롤 열심히 돌리면서 봤음.
- 카메라가 끊어지면 자동으로 PSI브라우저도 꺼진다. 난 다이소 웹캠이라 ㅅㅂ 체크인때만 계속 카메라 들고 움직이다보니 카메라 usb인식이 끊겨서 세번이나 리셋됐다. 참고로 카메라 연결 끊기면 체크인 처음부터 다시해야한다.
- 시험도중에도 카메라 혼자 갑자기 연결끊겨서 PSI리부팅됐는데 (하필 etcd 풀때 ㅡㅡ) 다시 체크인부터 다 했다. 다행히 시험문제푼 데이터는 남아있어서 계속 진행할 수 있었다.
- 감독관은 채팅 그냥 복붙해서 친다. 체크인만 네번을 하는 색다른 경험을 했는데 서로다른 감독관이었다. 근데 채팅치는 내용이 다 똑같음. ai거나 꿀직업일듯
- 체크인만 네번을 해서 거의 한시간 넘게 지연되서 원래 두시간반 걸릴거 세시간반 걸렸다.
- 터미널은 두개띄우는게 좋다. 다만 터미널 병행할때 컨텍스트 잘 확인!
- 브라우저는 시발 공식문서 링크로 직접 치고 들어가야함. 바로가기아이콘이 없다. killer.sh는 있는데. 이거 몰랐으면 못들어갔을수도. 주소창에 kubernetes.io이걸로 타이핑해서 들어가샘.
- 한글입력 불가능. 풀면서 문제유형 좀 정리하려고했는데 한글이 안쳐지더라.
- 북마크 기능도 있는데 난 잘 쓴듯. 다 풀고 북마크한거 가장먼저 검토했었음.
- 문제쪽 주요 스트링은 클릭만 하면 복사댐
- control + shift + cv로 모든 복붙이 해결된다. 참고로 killer.sh풀때 from 브라우저 to 터미널은 control+shift+cv , from 터미널 to 터미널은 control shift + insert라서 헷갈렸는데 걍 시험환경은 전부 control + shift + cv로 통일임.
준비한 방법과 실제시험은 어떤점이 달랐나?
- 시험환경에서 적었지만 kode kloud는 왼쪽 문제, 오른쪽 커맨드 이렇게되어있는데 시험에선 오른쪽에 터미널이 아니라 바탕화면이 떠서 cmd나 메모장, 공식문서 브라우저 다 일일히 켜줘야한다.
- 일단 컨텍스트를 계속 옮겨줘야한다. 이거 걱정할필요없는게 컨텍스트 변경 커맨드를 문제넘어가면 맨위에 제시를 해준다. 대신 문제검토하거나 다시풀때 꼭 컨텍스트 확인하고 풀자.
- 나같은경우는 모르고 drain을 해버렸는데 컨텍스트를 계속 확인하면서 했기에 크게 문제없었음. 만약 이미 푼 다른 문제 컨텍스트에서 drain 했으면 시험 조졌을수도.. 이런 상황을 위해서 컨텍스트 설정하는게 있는것같음.
- etcd backup에서 계속 인증파일 경로가 없다고 안되서 엄청 헤맸다. (하필이때 카메라도 나가서 멘붕) 근데 문제가 kode kloud나 따배씨에서는 바로 백업명령어를 쳐줬는데 시험환경에선 접속한 VM자체가 controlplane이 아니다. 그러다보니 인증파일 경로자체가 없어서 안된다고헀던것. ssh로 controplane에 들어가서 여차저차 해결한듯
- kode kloud는 리소스별로 전부다 이름을 정해주는데 시험환경에선 없는것들도 있었다. 예를들어 rolebinding만들때 이름을 뭐라고 정해주질 않음. 바인딩만 되면 되나보다 하고 그냥 만들어줬다. pvc도 마찬가지. 혹시 몰라서 여러번 문제 읽었었음.
- 문제유형은 그냥 따배씨에 있는것들 내에서만 나왔고 어려운점이 없었다. 그렇다고 너무 따배씨 방법만 달달외워가지마샘. 조금씩 응용하는 부분이 있음. (기억나는 기출유형쪽에 예시 써놓음.)
기억나는 기출유형들
- etcd backup and restore 문제에서 backup하나만 나오냐 restore까지 둘다나오냐인데 난 둘다나옴. 위에 썼듯이 kode kloud 실습환경이나 따배씨에서는 기본 터미널이 control plane노드라 백업이 바로됐는데 시험때는 바꾸고 해야해서 당황했음.
- cluster upgrade는 drain하고 control plane만 업그레이드 하면 된다. 업그레이드후 uncordon해줘야함.
- trouble shooting - 워커노드 kublet이 죽어서 걍 쉽게해결. 다른유형이 있는지모르겠는데 내가 아는바로는 이거 나온 후기만 봄.
- service account cluster role - pod가 sa로 권한갖게하는거인데 clusterrolebinding이름을 문제에서 안정해줘서 이게맞나 검토 여러번함
- persistent volume - 얘는 storage class쓰는걸로 나왔다. kodekloud나 따배씨 둘다 pv에서 storage class안씀. (lightening lab에 잠깐 트러블슈팅으로 나오긴하는데.. 좀..) 어려운개념은 아니니까 그냥 대충 어떤건지 체크하고 직접 만들어보고 가샘. 라벨링같은거니까. 꼭 bound된거 get명령어 치고 확인.
- ingress - 맨처음 ingress로 연결할 pod가 curl이 안되서 졸라 헷갈렸는데 ingress만들고나니 노드포트로는 됐다. 아직도 이유는 모름. 네트워크정책이 있었나?
- nodePort - 따배씨나 kode kloud에선 새로운 nodePort svc를 만들어주는거였는데 시험에선 이미 있는 cluster ip service를 nodePort svc로 expose해주는거였다.
- network policy - 따배씨나 kodekloud는 연결안되는 pod를 뚫어주는거였는데 시험에선 특정 name space에서 연결안되는것만 뚫어주는거라 바꿔야했음. exec로 검토했어야하는데 etcd 카메라 셧다운 이슈때문에 시간 모자를까봐 검토없이 걍 정책만만들고 빤스런. 맞았는지 안맞았는지 모르겠다.
찐막후기
- 내 k8s포스팅한것들 어느정도 이해할 수 있는 상태면 그리 어려운 시험은 아니다. 모든 k8s포스팅 다 알아야한다는건 아님. 대충 이정도 k8s 지식을 가지고 준비했다는 점만 말하고 싶음.
- 솔직히 난 k8s 클러스터를 다루는것 자체를 즐거워했던 사람이라 재밋게 공부했다.
- 예전엔 vm으로 로컬클러스터 구축을 해서 공부했는데 가끔 동작이 안되는 기능들이 있고 vm터져서 다시 구축하고 이런게 번거로웠음. kode kloud 환경만으로 공부해도 된다고 생각함. 꼭 해당 토픽이 아니더라도..
- kode kloud로 실습한건 빨리빨리했는데 시험환경은 좀 다르다보니 문제푸는속도가 한 50%감축된 느낌임. etcd 카메라 재앙도 있었지만 대체적으로 느려진다. 그래서 시간 꽉채웠는데 시간이 별로 안남아서 한 10문제정도만 검토했던것 같다.
- killer.sh가 어렵다고하는데 사실 어렵다기보단 시험준비만을 목표로했다면 모르는 개념이 나와서인듯? 예를 들어 따배씨에선 statefulset은 안배우는데 killer.sh에서는 scale해야하는 컨트롤러로 나옴. 난 1년전 따배쿠 재밋게 들었던 기억이 있어서 풀었다. 그리고 문항 하나하나 만들 리소스랑 설정해야할게 좀 많았던듯.
- 때문에 killer.sh는 재미로 풀어보면 좋을듯. 복붙 시험환경 체크때문에 풀어보라는데 복붙 시스템도 좀 달랐고 PSI브라우저가아니라 크롬에서 되는거라 좀 다르다. 꼭 풀필요는 없단뜻임. 개인의견임.
- 뭄샤드 practice가 꼭 풀 필요없는 lab도 많은데 공부하기는 솔찍히 너무 잘되어있다. cka만 목적으로만 할거면 가려서 실습하는게 맞는데 k8s를 내꺼로 만들기위한 공부라면 다 풀어보면 많이 도움될거임.
시험 다보구 시험비가 한국 한달 월세급이라고 컴플레인을 했다. 부디 컴플레인이 받아들여져서 다음에 시험보는 사람들은 좀 싸게 볼수 있게해주길.