CKA

개요

Certificated Kubernetes Administrator
https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/

CNCF에서 발급하는 공인 Kubernetes 운영 자격증이다.
클러스터 구축, 파드 관리, 장애 대응 등의 실무에서 접할 수 있는 문제들을 실기 형식으로 풀어나감으로써 역량을 증명할 수 있다.

특징

범위

2024.11.25부터 적용되는 시험 범위라고 했으나.. 어느새 보니 25년 1월달로 밀렸다.

추정 변경사항

스토리지

동적 프로비저닝 개념이 생겼다.
기본적인 볼륨 요청 방법이 사라졌다.
애플리케이션에 설정하는 항목이 빠졌다.

트러블슈팅

그냥 표현들만 바뀐 것 같고, 크게 바뀐 건 없을 것 같다.
로깅이 모니터링으로 바뀌었다 정도인데, 평가하려면 어차피 로그를 남기는 방식밖에 없을 듯..

워크로드

별로 바뀐 게 없다.
스케줄링에 대해 조금 더 상세한 문제가 나올 가능성은 있어 보인다.
어피니티, 테인트, 리소스 제한, 토폴로지 등이 들어가지 않을까 한다.

클러스터 아키텍처

업그레이드나 연결 등을 라이프사이클 관리라고 퉁치는 듯.
가장 단골 항목이었던 etcd가 관리 항목이 사라졌다.
그러나 다른 항목에 그냥 퉁쳐친 것인지는 알 수 없다.
각종 인터페이스에 대한 이해와, CRD의 이해까지 이제 요구된다.
또한 관련 툴인 헬름과 커스토마이즈의 사용법을 묻는 문제가 나올 것으로 생각된다.

사실 혼자 공부하면서 cka의 범위가 진정한 쿠버네티스 전문가는 아닌 것 같다 생각했다.
쿠버네티스의 모든 개념을 알아야 하는 것은 아니라고 느꼈기 때문인데, 이제는 좀 범위가 확실히 늘어나서 그럴싸해지지 않나 싶기는 하다.

네트워크

적절한 cni 고르기가 빠졌다.
인그레스 항목이 두 개로 늘었는데, 게이트웨이 api 설정하는 게 중시되는 듯.

공부 방법

뭄샤드 옹님 도움 받기

방법에 정도가 있을 리가 있겠냐마는, 나는 개인적으로 뭄샤드의 강의를 확실하게 1회독은 하고 들어가는 게 좋다고 생각한다.
실습환경 제공과 문제 타게팅형 풀이가 핵심 이유이다.
즉, 쿠버네티스 자체를 익히는 공부 외에도 시험을 위한 공부도 결국 필요는 하다는 것이다.

그러나 나는 결국 강의를 수강하지 않았다.
아래 있는 킬러코다 해보면서, 문서 읽다보니 그냥 익혀져서 굳이 필요성을 느끼지 못했다.

아주 잘 알려진 매운맛 cka 예비 사이트.
이후에는 실제 시험 환경을 느끼고, 문제 방식 감을 조금 더 잡을 수 있도록 killer.sh 문제를 풀어보는 것이 좋다고 생각한다.
이 문제들은 실제 유형보다 훨씬 어렵게 나오고, 그래서 자신의 기본기를 더 파악하는데 도움된다.
단순하게 자격증만 따고 끝이길 바라는 사람들에게는 그렇게 유효한 방법은 아닐 수도 있겠다.

cka 시험을 구매하면 2 세션을 무료로 사용할 수 있게 되는데, 이것만 하더라도 충분하다.

킬러코다 문제 풀기

아래 실습환경에 나와 있는 킬러코다에서는 기본적으로 몇 가지의 예제 문제를 제공해주고 있다.
어느 정도 개념이 잡혀있다면 바로 이 문제들을 풀어가며 준비를 하는 것도 괜찮을 것 같다.
killercoda

문서 읽기

나는 깊게 들어가고 싶은 분야에서는 일단 파고들다 보니 공식 문서를 읽으면서 진행하고 있는데..
이거 절대 처음 공부하는 사람한테는 추천하지 않는다.
문서가 생각보다 정리가 잘 안 돼있는 느낌이 있다.
이 사람 저 사람 손을 너무 많이 타서 설명 방식이 저마다 다르다.
나는 이걸 시도하다 살짝 감이 잡힌 이후로 킬러코다 문제 풀기로 넘어갔다.

시험 세팅

코테 보듯이 주변에 아무것도 없게 두기.
감독이 철저하게 진행되기 때문에 그냥 스터디룸을 하나 빌리는 것이 가장 마음이 편하다.
책상에 아무것도 없게 하고, 가방이나 옷들도 입지 않을 거면 스터디룸 밖으로 꺼내두라고 지시한다.
그러니 최대한 비우고 가는 편이 좋다.

VIM 세팅

vm으로 시험을 보니 중요한 것 중 하나가 편한 에디터를 사용하는 것이다.
vm에는 vim 세팅이 전혀 돼있지 않은 관계로 관련한 세팅을 직접 해주어야만 한다.

set et 
set ts=2 
set sw=2 
set sts=2 
set ai 
set si
set nu
syntax on

사실 이것들은 내가 항상 해두는 vim 세팅이라 정확하게 뭐가 뭔지는 잘 모른다.
탭을 스페이스로 바꾸고, 탭 크기를 2로 만들고, 자동 들여쓰기, 숫자 매기기 등의 요소들이 들어있다.

터미널 스크립트 설정

뭐.. 굳이 다른 거 쓸 사람은 없다고 생각하는데 결국 bash를 사용하게 될 것이다.

export do='--dry-run=client -o yaml'
export now='--force --grace-period 0'

위 두 환경 변수 정도 등록해두면 아주 유용하게 사용할 수 있다.

참고 자료

실습 환경

다양한 사이트들이 무료로 쿠버네티스를 실습할 수 있는 환경을 제공한다.
비용 문제가 있다보니 시간 제한을 두고 제공해준다.