CKA 자격증 획득 후기 (2021.12)
Certified Kubernetes Administrator (CKA) 는 쿠버네티스 관련하여 관리자 입장에서 잘 다룰 수 있는가를 확인하는 자격증 입니다. 쿠버네티스 자격증에는 CKA 뿐만 아니라 CKAD 도 포함되어 있는데, CKAD 는 풀 네임이 Certified Kubernetes Application Developer 로 앞서 CKA 가 관리자 입장이었다면, CKAD 는 사용자 입장에서 쿠버네티스를 잘 다룰수 있느냐에 따라 차이가 있습니다.
CKA? CKAD?
첫번째로 CKA? CKAD? 과연 어떤 자격증을 따야할까 많이 고민을 했습니다. 여러 후기를 살펴봤을 때, CKA 와 CKAD 가 겹치는 부분들이 꽤 있고, 차이점이라고 하면 CKA 는 클러스터 설치, etcd 복구 등과 같은 관리 운영 입장의 문제가 출제가 되고 CKAD 는 조금 더 리소스 사용에 초점을 맞춘 문제들이 나온다는 것이었습니다. 결국.. 이왕 하는거 클러스터 운영이나 설치에 관한 공부도 해보자 해서 CKA 를 준비하게 되었습니다. (CKAD 의 문제들이 까다롭다고 들었던 이유도 있었음)
시험 준비 과정
먼저 시험을 준비하고자 맘을 먹었을때 시험 까지의 기간을 약 2개월 정도 잡았습니다. 왜냐하면 제가 시작했을 무렵에는 아직 쿠버네티스에 대한 전반적인 공부를 먼저 하고 있었기 때문에, 해당 공부를 다 마무리 하고 자격증 시험을 준비해야 한다고 생각했기 때문에
우선 쿠버네티스에 대한 전체적인 설명은 인프런 강의 를 통해 수강하였습니다.
대세는 쿠버네티스 [초급~중급] - 인프런 | 강의
쿠버네티스는 앞으로 어플리케이션 배포/운영에 주류가 될 기술 입니다. 이 강좌를 통해 여러분도 대세에 쉽게 편승할 수 있게 됩니다., - 강의 소개 | 인프런...
www.inflearn.com
위 강의를 1달 정도 수강 하고 본격적으로 CKA 자격증 관련 준비를 하기 위해 거의 바이블 같은 강의인 udemy 강의를 수강하게 되었습니다. 해당 강의는 좋았던게 내가 쿠버네티스 실습 환경을 갖추고 있지 않아도, 실습 할 수 있는 온라인 실습 환경을 제공해주기 때문에 맘껏 테스트 해볼 수 있는 점이 좋았습니다.
시험 특징
이 시험의 특징은 보통의 시험들과 달리
1. 100% 핸즈온 시험 - 객관식 등이 없고 무조건 직접 터미널에 명령어를 입력하고 실행하는 방식
2. 온라인 시험 - 시험장에 갈 필요 없이 내가 원하는 시간을 선택해서 집에서 시험을 치룰 수 있음
3. 공식문서 참고 가능 - 시험을 보면서 쿠버네티스 공식 문서를 참고 할 수 있음, 단, document 부분만 가능하며 discussion 은 금지! (시험 중에 discussion 으로 들어가지 않도록 주의 해야 함)
시험 중 참고 가능한 사이트
https://github.com/kubernetes/
Kubernetes Documentation
Kubernetes is an open source container orchestration engine for automating deployment, scaling, and management of containerized applications. The open source project is hosted by the Cloud Native Computing Foundation.
kubernetes.io
위 같은 특징을 가지고 있었기 때문에, 내가 원하는 시간을 직접 정해서 집에서 편하게 시험을 볼 수 있었습니다. 그리고 공식문서를 참고할 수 있었기 때문에 노트북 화면은 시험, 다른 모니터 화면은 공식문서를 켜놓고 시험을 봤습니다. (물론 시험볼때 두 화면 모두 시험관에게 공유해야 함!)
그리고, CKA 자격증 신청 사이트에서 시험을 신청하고 나면, killer.sh 시험을 치룰 수 있게 기회를 주는데 killer.sh 는 CKA 시험 전에 치뤄볼 수 있는 모의시험 같은거입니다. 해당 killer.sh 시작할때는 "본 시험은 CKA 실제 시험 보다 어렵습니다" 라고 나오는데, 어려운건 맞지만 그렇다고 CKA 가 훨씬 쉽다는 뜻은 아니었던것 같습니다..ㅎ 하지만 killer.sh 시험을 안풀었다면 CKA 시험때 당황하지 않았을까 싶습니다.. 왜냐하면 udemy 에서 제공하는 mock 시험등 보다는 CKA 가 어려웠기 때문에 mock 만 접하고 간다면 시험 환경 등에서 낯설게 느껴저서 실수할 확률이 높을것 같습니다.
Certified Kubernetes Administrator (CKA) | Cloud Native Computing Foundation
The Certified Kubernetes Administrator (CKA) program was created by the Cloud Native Computing Foundation (CNCF), in collaboration with The Linux Foundation, to help develop the Kubernetes ecosystem.
www.cncf.io
시험
내가 신청한 시험시간이 되면 설명한 사이트에 들어가면 배정된 시험감독관이 사이트에 내장된 채팅 창으로 말을 걸어옵니다. 반갑다, 지금 있는 곳에 아무것도 없는지 확인 한번 해달라, 시험 중에 어떤건 조심하고, 쉬는시간 있으니 필요하면 써라 등등을 얘기 합니다. 실제로 근처에 아무것도 없는지 확인해 주기 위해 노트북을 들고 한바퀴 돌면서 방 안을 다 보여줬습니다..
그리고 시험 중 첫번째 문제 부터 풀었는데 생각보다 낯선 문제와 난이도에 당황해서 쉬운 문제부터 풀어나갔고, 나중에는 조금 진정이 되어서... 어려웠다고 생각한 문제도 다시 풀수 있게 되었습니다. 그리고 시험 중에 너무너무 배가 아파서 .. 결국 쉬는 시간을 신청하고 후다닥 5분 정도 화장실을 다녀왔는데 이것 때문에 시험이 불합격 처리 되면 어떡하지 라는 불안함이 있었습니다 ㅠㅠ
시험 결과!
합격! 시험을 보면서 모르는게 7점 짜리 3개 이니까 .. 나머지가 만약 다 맞았다면 21점이 깎여서 79점으로 합격하겠구나 싶었는데 정말 79점으로 합격을 하였습니다..ㅋㅋㅋ 시험 전날에 killer.sh 를 풀어본 것이 가장 큰 도움이 되었고, 체감상 난이도는 killer.sh > CKA > mock 순서인거 같습니다. mock 만 보고는 CKA 시험이 낯설 수 있으니 꼭 ..! killer.sh 를 풀어보시길 바랍니다 ㅎㅎ
Tips
시험을 치다보면, yaml 파일로 생성하는 것보다 아래 명령으로 리소스를 생성하는것이 간편할때가 있는데 유용한 명령어들을 정리했습니다.
Create an NGINX Pod
kubectl run nginx --image=nginx
Generate POD Manifest YAML file (-o yaml). Don't create it(--dry-run)
kubectl run nginx --image=nginx --dry-run=client -o yaml
Create a deployment
kubectl create deployment --image=nginx nginx
Generate Deployment YAML file (-o yaml). Don't create it(--dry-run)
kubectl create deployment --image=nginx nginx --dry-run=client -o yaml
Generate Deployment YAML file (-o yaml). Don't create it(--dry-run) with 4 Replicas (--replicas=4)
kubectl create deployment --image=nginx nginx --dry-run=client -o yaml > nginx-deployment.yaml
Save it to a file, make necessary changes to the file (for example, adding more replicas) and then create the deployment.
kubectl create -f nginx-deployment.yaml
OR
In k8s version 1.19+, we can specify the --replicas option to create a deployment with 4 replicas.
kubectl create deployment --image=nginx nginx --replicas=4 --dry-run=client -o yaml > nginx-deployment.yaml