안녕하세요. 다메카솔🐿️ 입니다.
얼마전에 계속 공부하고 싶었던 쿠버네티스를 공부하면서, 프로젝트에 사용하는 것 외에 어떻게 더 활용할 수 있을까 고민하다가 공식인증 자격시험인 CKAD를 응시하였습니다.
개발자에게 자격증이 도움이 된다 안된다는 여러가지 의견이 있는데 저는 실무능력도 중요하지만, 장기적으로 봤을 때 이론이 뒷받침 되어야 이해도도 높아지고 더 어려운 문제를 다룰 때 도움이 된다고 생각해서 이론 공부 + 공부 내용을 검증하기 위한 방법으로 자격증 시험 응시를 자주 하는 편입니다.
CKAD는 기타 국내 자격증이나, AWS 자격증과 비교해도 많이 비싼 가격이라 과연 필요할까? 고민을 많이 했는데, 가장 최근에 봤던 시험이 작년 가을에 보았던 SAA라 시험 본 지 오래되기도 해서 응시하기로 결정하였습니다.
시험 정보
리눅스 재단은 오픈소스 소프트웨어 개발을 위한 공동 작업 환경을 구축하는 비영리 단체입니다. 리눅스 재단은 쿠버네티스 자격증 프로그램을 관리하고 있습니다.
https://www.linuxfoundation.org/
쿠버네티스 자격증은 쿠버네티스 기술에 대한 지식과 숙련도를 검증하는 전문 자격증입니다. 다음과 같은 다양한 종류의 자격증이 있습니다.
- Certified Kubernetes Administrator (CKA): 쿠버네티스 클러스터를 배포, 구성 및 관리하는 데 필요한 기술, 지식 및 역량을 검증하는 자격증입니다.
- Certified Kubernetes Application Developer (CKAD): 쿠버네티스에서 클라우드 네이티브 애플리케이션을 설계, 구축, 구성 및 노출하는 데 필요한 기술, 지식 및 역량을 검증하는 자격증입니다.
- Certified Kubernetes Security Specialist (CKS): 쿠버네티스에서 애플리케이션을 보호하기 위한 관련 보안 원칙을 구현하고 관리하는 데 필요한 기술, 지식 및 역량을 검증하는 자격증입니다.
https://kubernetes.io/ko/training/
이번에 응시한 시험은 CKAD 이며
- CKAD는 리눅스 재단에서 제공하는 공식 쿠버네티스 자격증입니다.
- 시험은 온라인으로 진행되며, 2시간 동안 16개의 문제를 풀어야 합니다.(시험마다 다른 것 같습니다)
- 시험 점수는 100점 만점이며, 66점 이상을 획득하면 합격입니다.
- 시험 비용은 395달러(2024.05 기준)이며, 쿠폰을 사용하면 할인된 가격으로 응시할 수 있습니다
시험 과목: Certified Kubernetes Application Developer (CKAD)
CKAD는 쿠버네티스 환경에서 애플리케이션을 설계, 구축, 구성 및 노출하는 데 필요한 기술, 지식 및 역량을 검증하는 자격증입니다. 본 시험은 퍼포먼스 기반으로, 실제 쿠버네티스 환경에서 문제를 해결하는 능력을 평가합니다.
시험 범위:
- Core Concepts (13%)
- 쿠버네티스 기본 아키텍처 이해
- 쿠버네티스 오브젝트 정의 및 관리 (Pod, Deployment, Service, Namespace 등)
- Pod Design (20%)
- Pod 생성 및 관리, 컨테이너 환경 설정
- Pod 및 컨테이너 라이프사이클 관리
- 리소스 사용량 관리, 헬스 체크, 로깅 및 모니터링 설정
- Configuration (18%)
- ConfigMap 및 Secret을 사용한 애플리케이션 설정
- Security Context, Resource Limits 및 Quotas 설정
- 서비스 디스커버리 및 네트워킹 설정
- Observability (18%)
- 애플리케이션 로그 수집 및 분석
- 애플리케이션 및 쿠버네티스 클러스터 모니터링
- 문제 해결 및 디버깅
- Deployment (20%)
- Deployment, StatefulSet, DaemonSet 등 다양한 배포 방법 이해 및 활용
- 롤링 업데이트, 롤백 및 블루-그린 배포 전략 구현
- Services & Networking (11%)
- 쿠버네티스 네트워킹 기본 사항 이해
- Service 오브젝트를 활용한 서비스 노출 및 디스커버리
- Ingress 컨트롤러를 사용한 외부 트래픽 관리
더 자세한 과목 내용은 CKAD Exam Curriculum에서 확인할 수 있습니다.
https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/
시험 접수 팁
CKAD 시험은 온라인으로 진행되며, 리눅스 재단 웹사이트에서 접수할 수 있습니다. 시험 접수 시 다음과 같은 정보를 입력해야 합니다.
- 이름, 이메일 주소, 연락처
- 신분증 정보
- 시험 응시 날짜 및 시간
시험 접수 후, 시험 응시를 위한 안내 메일을 받게 됩니다. 안내 메일에 따라 시스템 설정 및 신분 확인 절차를 진행해야 합니다.
쿠폰 할인:
시험 가격이 비싸다보니 할인을 꼭 받으시는 걸 추천드립니다.
쿠폰은 여러 경로로 얻을 수 있는데, 가장 큰 할인폭은 블랙프라이데이의 사이버먼데이 행사에서 50% 할인 쿠폰을 구할 수 있고, 그 외에도 특정 기간마다 쿠폰을 제공하고 있습니다.
최신 정보를 업데이트 하는 사이트들이 많이 있으며, 제가 이용한 사이트는 다음과 같습니다.
https://github.com/techiescamp/linux-foundation-coupon
시험 준비 방법
공식 문서를 활용하여 공부하거나 리눅스 재단에서 CKAD 시험과 함께 판매하는 커리큘럼을 이용하는 방법도 있지만, 저는 많은 후기들이 추천하는 Udemy의 CAKD 강의를 활용하였습니다.
https://www.udemy.com/course/certified-kubernetes-application-developer/?couponCode=KEEPLEARNING
해당 강의에선 따로 실습환경을 구축하지 않아도 명령어들을 실행하면서 숙달시킬 수 있는 실행환경을 제공해주어서 공부에 큰 도움이 되었고, 강의도 핵심을 짚어주는 강의로 학습에 대한 부담을 크게 낮춰주었습니다.
또 Mock 시험을 제공해서 따로 dump를 풀거나 하는 준비과정 없이, 시험에 응시하였습니다.
시험을 접수하면 리눅스재단에서 killer.sh이라는 모의시험 응시 세션을 2회 제공하는데, 하나의 세션을 활성화시키면 총 3일동안 반복해서 응시할 수 있으며, 불합격 시 재시험을 고려하여 2회 제공하는 것으로 보입니다. 난이도가 상당한 것으로 유명한데, 직접 풀어보면 하나의 문제에 여러가지 요구사항이 포함되어 있으며, 쿠버네티스 외에도 기본적인 리눅스 활용능력도 필요하여 체감 난이도가 높게 느껴지는 것 같습니다.
그리고 시험 시간이 생각보다 타이트한데, 그래서 시간을 단축할 수 있는 여러가지 방법들을 준비하시는 것을 추천드립니다.
모든 yaml파일을 직접 작성하는 것보다 --dry-run=client -oyaml 명령어를 통해 기본 문법이 작성된 yaml을 생성하여 수정하거나, 공식 문서에 작성된 예제를 빠르게 찾아 활용하는 것이 큰 도움이 되었습니다.
또 난이도가 쉬운 문제를 틀리지 않는 것이 시험 합격에 도움을 주기 때문에, 조금 까다롭거나 시간이 걸릴 것 같은 문제는 flag 체크 후, 전체 문제를 모두 검토 후에 푸시는 것을 추천드립니다.
시험 후기
정확하게 기억이 나지는 않지만 생각나는 대로 기출문제 내용들을 적어보았습니다.
1. 카나리배포(기존에 deploy가 존재하며, 추가로 신규 버전을 배포할 예정인데 요구하는 비율로 배포되도록 작성)
2. cronjob 설정
3. docker 이미지 빌드 및 압축 (이름, 태그 , tar등)
4. networkPolicy가 구성된 환경에서 networkPolicy를 수정하지 않고 접속 이슈 해결
5. deployment 작성
6. secret 작성 및 container에서 keyRef로 활용
7. configmap 작성
8. container 내에 serviceAccount 설정
9. securityContext 설정 (root 권한상승 금지, 실행 유저 지정)
10. deploy 신버전 배포 및 롤백
11. api deprecation 이슈 해결(구버전 api 제공 후, 배포 이슈 해결, 공식문서 활용하여 문법과 api 버전 확인 필요)
12. log를 확인하고, 파일로 저장
13. ingress, egress 설정
14. 배포된 deployment에 서비스 생성하여 expose하기
다른 블로그 후기를 통해 큰 도움을 얻어 좋은 결과를 얻은 만큼, 다음 CKAD 시험을 준비하는 분들에게 도움이 되었으면 좋겠습니다.
모두 좋은 결과 얻으시길 바랍니다.
'일상다반사 > 일상' 카테고리의 다른 글
[일상] AWS Solutions Architect - Assosiate 시험 후기 (2) | 2023.10.29 |
---|---|
[2023.05.15] Microsoft X GitHub Roadshow 2023 (0) | 2023.05.17 |
[일상] SQLP 시험후기 (0) | 2023.05.07 |
2022 1학기 방송통신대학교 기말고사 (0) | 2022.06.06 |
사내 협업툴(위키) 도입 회고 (0) | 2022.05.29 |