easydong

[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 — 어떤 노드를 언제 만들고 없앨지 (...

[EKS 재구축 #6] 쿠버네티스 스토리지 — PV·PVC·StorageClass부터 EBS CSI와 가용영역의 함정까지

📚 들어가며 5편에서 Ingress 하나로 ALB와 DNS가 생기고 사라지는 걸 확인했다. 이번 편은 스토리지다. 파드는 언제든 죽고 다시 뜬다. 그런데 DB나 업로드 파일처럼 파드가 바뀌어도 남아 있어야 하는 데이터는 어디에 둬야 할까? 쿠버네티스는 이 문제를 PV, PVC, StorageClass, CSI라는 꽤 여러 겹의 개념으로 푼다. 처음...

[Ansible #3] 실무에서 쓰는 심화 기능 — 변수 우선순위, Role, Vault, 성능 튜닝

📚 들어가며 1편에서 Docker로 실습 환경을 만들고, 2편에서 inventory·ad-hoc·playbook의 기본 문법을 봤다. 이번 편은 실제 운영 환경에서 Ansible을 쓸 때 반드시 마주치게 되는 기능들을 정리한다. 기본 문법만으로도 서버 한두 대는 다룰 수 있지만, “서버가 수백 대라면”, “비밀번호는 어떻게 저장하나”, “배포가 실...

[Ansible #1] Docker로 Ansible 실습 환경 만들기 — 5번의 삽질이 알려준 동작 원리

📚 들어가며 Ansible을 한 번도 안 써봤다. 그런데 실습하려니 관리 대상 서버가 필요했다. VM을 여러 대 띄우기는 부담스러워서, Docker 컨테이너를 “관리 대상 노드”로 삼는 방식으로 실습 환경을 만들어봤다. 결과적으로 환경 세팅에서만 다섯 번을 막혔다. 그런데 이게 오히려 좋았다. 각각의 에러가 Ansible이 실제로 어떻게 동작하는지...