TL;DR
•
Istio에 대한 기본적인 지식과 쿠버네티스 경험치가 있다면 난이도는 높지 않음
•
7/28부터 시험 커리큘럼이 변경되기 때문에, 이 글은 크게 도움이 되지 못할지도 모릅니다.
들어가며
계속 미루고만 있던 ICA(Istio Certified Associate)를 취득했습니다. 이로써 어쩌다보니 CKAD, CKA, CKS, ICA 까지 취득하게되었네요.
물론 2개는 만료되었지만, 딱히 갱신할 생각은 없습니다. 비싸기도 하고, 만료되어도 의미가 퇴색되는 느낌의 인증은 아니라는 생각에서 입니다.
시험 자체는 벼락치기 답게 3일(?) 준비했고, 다행히 1차에 합격했습니다.
난이도는 보통이긴한데, 이게 쉬운 것 같기도, 어려운 것 같기도하고 살짝 오묘합니다.
왜 3일만에 갑자기 시험보게 되었는지, 벼락치기를 한다면 어떻게 해야할지 후기를 남기도록 하겠습니다.
벼락치기 하게 된 동기
올해 회사에서 Istio 스터디도 참여했고, 운영하는 클러스터에도 Istio를 다룰 일이 많이 있어서 “ICA는 올해 하면 겠다” 라고 생각하고 있었습니다.
곧 ICA 시험이 변경된다는 내용이며, 지금 커리큘럼으로 ICA를 응시하려면 25년 7월28일까지 시험을 봐야만한다는 내용입니다.
위 내용을 확인한게 7월11일 금요일이고, 저는 7월22일부터 여름 휴가 계획이 되어있었습니다.
남은 12일 안에 시험 한 번 떨어지고 재응시하는 경우까지 고려한다면 당장 첫 시험을 빠르게 응시하는게 중요해보였습니다.
그래서 3일 뒤인 월요일에 휴가와 함께 시험을 신청하고, ICA 벼락치기를 시작했습니다.
벼락치기 과정
다행히 Istio 스터디를 최근에 진행했어서 ICA 관련 강의는 모두 건너뛸 수 있었습니다.
물론 들을 시간도 없긴 했지만요.
3일간 ICA 준비에 사용한 자료는 총 3개입니다. Istio 공식 문서와 Task 문서, 그리고 killercoda 입니다.
(교과서 위주로 공부했어요)
다만, 준비의 핵심은 killercoda 라고 생각합니다. 이것만한게 없어요.
시작은 Killercoda, 마지막까지 Killercoda
ICA도 결국은 CKA 시리즈들처럼 실습 시험입니다. 그렇기 때문에 무조건 리소스를 직접 생성해보고 적용하는 연습은 필수입니다.
이미 수도 없이 사용했던 명령어들이 시험에서는 실제와 다르게 쓰이는 경우가 많기 때문에 적어도 2~3번은 풀어보시길 추천합니다. 게다가 무료입니다!
저는 3일 내내 Killercoda 문제를 풀었습니다. 답을 다 알고 있어도 반복해서 풀었습니다.
단순히 문제만 풀지는 않았고, 문제를 반복하면서 아래 작업을 함께 했습니다.
•
시험에 큰 비중을 차지하는 VirtualService나 DestinationRule 의 시나리오별 정답에 가까운 형태의 yaml이 istio 문서에 어디에 있는지 외우기
•
해결해야하는 시나리오마다 예제가 있는지 문서에서 찾아보기
•
시간을 줄이는 방법을 적용하기
◦
alias ka='kubectl apply -f'
(이런 사소한 내용이 꽤 시간을 많이 줄입니다)
◦
복붙은 단축키말고 마우스 우클릭으로 복붙하기
(괜히 단축키쓰다가 잘 안되면 당황하기 때문에 처음부터 마우스로 하는 것을 추천)
위 내용은 실습 베이스의 쿠버네티스 관련 시험에는 모두 유효한 방식이기도하니, 다른 시험에도 활용하셔도 좋습니다.
만약 급한게 아니라면, 시작은 Killercoda로 하되, 문제를 풀면서 각각의 Istio 리소스에 대해서 정리를 가장 먼저 진행하고 위처럼 진행하면 되겠습니다.
제 생각에는 이 방법으로 한다면, 2주 내로 시험 응시 준비를 마칠 수 있을 것 같습니다.
시험 문제 유형
새로운 시험 유형으로 곧 바뀌지만, 그래도 7월28일 전에 시험 보시는 분들에게 도움이 될까하여 기억이 닿는데까지 남겨봅니다.
시험 설명의 도메인과 동일하게 그룹 별로 문제가 출제됩니다.
•
Istio Installation, Upgrade & Configuration - 7%
•
Traffic Management - 40%
•
Resilience and Fault Injection - 20%
•
Securing Workloads - 20%
•
Advanced Scenarios - 13%
•
True/False 문제
Istio Installation, Upgrade & Configuration (1문제)
•
istioctl을 사용하여 요구하는 추가 설정을 반영하여 upgrade 설치하는 문제
•
istioctl upgrade -f custom-config.yaml
•
제 경우는 istiod(pilot), ingress gateway의 cpu/memory requests를 변경하는 내용이었습니다.
Traffic Management (8문제)
사실상 ICA 시험의 핵심입니다. 여기서 미끄러지면 다른 주제에서 모두 맞춰도 합격할 수 없기 때문에 중점적으로 공부해야 합니다.
•
weight routing
•
traffic mirroring
•
port 레벨 loadbalancer 모드 변경 (각각의 포트마다 다른 모드 적용하기)
•
istio sidecar injection 설정 (namespace에 라벨 설정하기)
•
prefix 기반 라우팅 + ingress gateway
•
ingress gateway 구성하기 (대부분 Task 문서에 있는 것과 유사하며 약간의 변형)
•
service entry 구성하기
•
egress gateway 구성하기 (대부분 Task 문서에 있는 것과 유사하며 약간의 변형)
Resilience and Fault Injection (3문제)
•
timeout
•
retry
•
fault injection (delay, abort 동시에 설정)
Securing Workloads (3문제)
•
AuthorizationPolicy (allow-nothing)
•
AuthorizationPolicy (source와 to 사용해서 상세 rule 작성)
•
PeerAuthentication (mtls 설정과 portLevelMtls로 특정 포트는 DISABLE)
Advanced Scenarios (2문제)
•
revision을 활용하여 업그레이드
◦
istioctl 명령어의 --revision 옵션을 활용하는건데, 저는 과감히 포기
•
특정 deployment의 Pod가 문제가 있음
◦
→ istio sidecar가 제대로 설정되지 않아서이며, sidecar.istio.io/inject="true" 라벨로 해결
True/False 문제 (4~5문제)
그렇게 어렵지 않은 내용으로 True/False 문제가 출제됩니다. 저는 4~5문제로 기억합니다.
•
WorkloadGroup / WorkloadEntity 가 뭐하는 리소스인지 4개 보기 중 고르기
•
Istio 설치만 하면 Sidecar가 주입된다 → False
•
tls PASSTHROUGH 에 대한 내용
시험 난이도에 대해
이 주제를 이야기하는 이유는 서두에 난이도가 쉬운 것 같으면서도 어렵다고 했기 때문인데요.
그 이유를 간단히 설명드리기 위해서입니다. 물론 난이도는 주관적이니 참고만 해주세요.
Istio 리소스 작성이 쉬움
•
문제만 잘 파악하면 리소스 작성 제차는 복잡한 내용이 없습니다.
•
https://istio.io/latest/docs/ 와 https://istio.io/latest/docs/tasks/ 에 있는 내용을 그대로 가져와도 되는 경우도 있고, 수정해도 약간만 수정하는 것이 대부분입니다.
CKA 계열 시험보다 불친절함
•
리소스에 붙이는 이름이 마우스 클릭으로 복사가 안됩니다.
◦
제 기억에 다른 시험은 생성하라는 리소스 이름을 좌클릭만해도 자동복사가 되었는데, ICA는 안되서 하나하나 드래그해서 우클릭 복사했습니다.
◦
그냥 타이핑하자니 긴 값들은 오타가 걱정됩니다.
◦
이런 사소한 것들이 시험 시간을 타이트하게 만듭니다.
•
문제에서 요구하는 내용이 명확하게 드러나는 편이 아닙니다.
◦
CKA 계열 시험에서는 무엇을 하라고 명확히 드러나는 반면, ICA는 상대적으로 구어체 형태로 요구사항이 전달됩니다.
전반적으로 문제는 쉬우나, 불편함들이 모여 시험의 난이도를 올리는 구조라고 생각됩니다.
팁
•
테스트 할 생각은 하지말고 그냥 자신을 믿는다.
•
https://istio.io/latest/docs/tasks/ Traffic Management 부분은 한 번 정독하길 추천합니다.
마치며
급작스러웠지만 ICA 시험 유형이 변경되기 전에 벼락치기로 ICA에 합격했습니다.
이 후기가 7월28일 전에 시험을 응시하는 분들에게 조금이나마 도움이 되길 바래봅니다.