easydong

[EKS 재구축 #17] Stateful 앱과 EBS 스냅샷 — 데이터를 백업·복원하고, 클러스터는 순서대로 지우기

📚 들어가며 14편~16편에서 Kafka, Redis, MySQL을 설치했다. 이번 편은 강의의 Stateful Application과 Snapshot 파트다. 상태(데이터)를 가진 앱의 데이터를 EBS 스냅샷으로 백업하고 복원한다. 그런데 그 전에 사고가 하나 있었다. 학습을 마치고 비용을 아끼려고 terraform destroy를 바로 했더니,...

[EKS 재구축 #16] MySQL Operator로 InnoDB Cluster 설치하기 — 저장소엔 차트가 하나뿐, MySQL 버전은 달력 방식으로

📚 들어가며 14편에서 Strimzi Operator로 Kafka를 설치했다. 이번 편은 두 번째 Operator, MySQL Operator로 InnoDB Cluster를 설치한다. 강의는 MySQL Operator 2.1.2(강의 레포는 2.2.1)를 쓴다. 그런데 지금 공식 Helm 저장소에는 차트 버전이 하나만 남아 있고, MySQL 자체의...

[EKS 재구축 #15] 헬스체크 실패인 줄 알았는데 보안 그룹이었다 — Karpenter 노드에서만 DNS가 안 되던 이유

📚 들어가며 14편에서 Kafka를 설치한 바로 그날, 장애가 났다. Kafka, Redis, external-dns 파드 3개가 동시에 CrashLoopBackOff 에 빠졌다. 처음엔 헬스체크 설정 문제로 보였다. 그런데 하나씩 좁혀보니 진짜 원인은 전혀 다른 곳에 있었다. Karpenter가 띄운 노드와 고정 노드가 서로 다른 보안 그룹을 쓰...

[EKS 재구축 #14] Operator 이해와 Strimzi로 Kafka 설치하기 — ZooKeeper가 사라진 2026년의 Kafka

📚 들어가며 13편에서 Helm으로 Redis를 설치했다. 이번 편은 데이터 계층의 두 번째, Kafka다. 그런데 이번엔 Helm 차트로 Kafka를 바로 설치하지 않는다. Operator라는 걸 먼저 설치하고, Operator에게 “Kafka를 이렇게 만들어줘”라고 선언한다. 그리고 이번에도 강의와의 시간 차이가 크게 작용했다. ...

[EKS 재구축 #13] Helm으로 Redis 설치하기 — 강의 values가 2026년엔 안 통하는 이유와 StatefulSet 정리법

📚 들어가며 12편에서 Helm의 차트·템플릿·Values를 정리했다. 이번 편은 그걸 실제로 써서 Redis를 설치한다. 강의를 따라 차트를 받았는데, 버전을 지정하지 않아서 강의(18.12.1)보다 10 메이저나 높은 28.3.1이 받아졌다. 차트 자체는 문제가 없었다. 문제는 그 사이 Bitnami의 무료 이미지 배포 정책이 바뀌어서, 강의 ...

[EKS 재구축 #12] Helm 제대로 이해하기 — 차트·템플릿·Values, 그리고 _helpers.tpl의 값은 어디서 오나

📚 들어가며 돌아보면 이 시리즈에서 Helm을 꽤 많이 썼다. 4편에서 LB Controller·external-dns·sealed-secrets를, 7편에서 Karpenter를 전부 Helm으로 설치했다. 네임스페이스 함정(4편)도 겪었고, release name이 내가 짓는 별명이라는 것(5편)도 정리했다. 그런데 솔직히 “일단 따라 친” 부분...

[EKS 재구축 #10] 안전하게 Karpenter 쓰기 ② — PodDisruptionBudget, do-not-disrupt, Graceful Shutdown

📚 들어가며 9편에서는 파드가 노드에 자리를 잡을 때의 안전장치(requests, LimitRange, PriorityClass)를 다뤘다. 이번 편은 반대로 파드가 노드를 떠날 때다. Karpenter는 노드를 자주 바꾼다(7·8편). Consolidation으로 덜 쓰이는 노드를 정리하고, AMI가 바뀌면 drift로 교체하고, expireAf...

[EKS 재구축 #9] 안전하게 Karpenter 쓰기 ① — requests, LimitRange, PriorityClass

📚 들어가며 7편과 8편에서 Karpenter를 설치하고 노드가 늘고 줄어드는 원리를 봤다. 그런데 7편에서 정리한 주의 사항이 계속 마음에 걸렸다. Karpenter는 노드를 자주, 적극적으로 바꾼다. 그리고 노드 크기를 정할 때 파드가 실제로 얼마나 쓰는지가 아니라 requests에 적힌 값만 본다. 강의도 Karpenter 다음에 “...

[EKS 재구축 #8] Karpenter NodePool 설계와 오토스케일링 — 라벨과 taint, 그리고 노드가 늘고 줄어드는 원리

📚 들어가며 7편에서 Karpenter 컨트롤러를 설치했다. 하지만 아직 노드를 하나도 만들지 않았다. Karpenter에게 “무엇을, 어떻게 만들지”를 알려주는 규칙이 없기 때문이다. 이번 편에서 그 규칙을 쓴다. EC2NodeClass — 노드를 AWS에서 어떻게 만들지 (1장) NodePool — 어떤 노드를 언제 만들고 없앨지 (...