eks 21

카펜터 v0.27 to v0.32 업그레이드 작업 내역 공유

AWS 카펜터 v0.27 to v0.32 업그레이드 작업 내용을 공유합니다. 작업하면서 장애도 있었고 실수도 있어 아마도 다른 분들에게 도움이 될 것 같습니다. 업그레이 작업을 하게된 이유는 카펜터 Spot 노드 최적화가 v0.34부터 지원하기 때문입니다. 24년 10월 기준 카펜터 최신 버전은 v1.1.0 인데, 바로 최신 버전으로 업그레이드 하고 싶었는데, provisioner, awsnodetemplte 등 기존 자원에 대한 dual support가 필요하여 v0.32 으로 먼저 업그레이드 했습니다. 기존 현황입니다. (eks_dive-dev:karpenter)dev$ helm lsNAME NAMESPACE REVISION UPDATED ..

EKS 네트워크 아키텍처 현황

쿠버네티스 공식 문서 기반으로 네트워킹 및 로드 밸런싱을 스터디하고 있습니다. 관련해서 현재 사용 현황을 정리해 보았습니다. Amazon EKS 네트워크 아키텍처를 고민하는 분들께 도움이 되었으면 합니다.EKS VPC CNIEKS 사용하면 당연히(?) VPC CNI를 사용합니다.장점파드와 노드의 IP 대역이 동일하여 다른 노드의 파드와 통신 시 NAT 등의 추가 과정없이 바로 통신 가능합니다.주의사항파드 네트워크 대역을 /24가 아닌 /20 등으로 넓게 할당합니다. EKS 업그레이드 등 작업 시 IP가 부족한 경우가 발생할 수 있습니다.당연히 Private Subnet 대역에 파드 배포합니다.EKS ALB와 LB Controller장점target-type: ip 옵션을 사용하여 네트워크 홉 수를 줄일 수..

EKS Burstable 설정과 KRR을 활용한 비용 절감 내역 공유

현재 저는 CPU는 Limit을 지정하지 않는 Burstable 설정을 사용하고, CPU와 메모리 Request, Limit의 구체적인 설정값은 KRR을 사용하여 실제 사용량 기반으로 지정합니다. 이러한 구성은 시스템 안정성에 큰 영향을 미치지 않으면서 비용을 절감할 수 있는 효과적인 방법 같아서 공유합니다. QoS 설정과 Burstable 운영 환경의 안정성을 위해 많은 분들이 파드의 QoS 설정을 Guaranteed로 지정합니다. Guaranteed 설정은 Burstable 및 Best Effort 설정에 비해 노드의 자원이 부족할 때 파드가 Evict(추출) 당하지 않기 때문에 당연한 선택처럼 보입니다.  그러나 메모리와 달리 CPU는 Node Pressure가 없습니다. 즉, CPU를 과도하게 사..

쿠버네티스 베스트 프랙티스 레이블 및 헬름 레이블 적용

기존 쿠버네티스 스터디에서 새로운 멤버가 추가되어 이번에는 쿠버네티스 공식 문서로 스터디를 하고 있습니다. 관련 내용 중 k8s 공식 문서에 Recommended 레이블이 있어 해당 내용을 기반으로 현재 사용하고 있는 현황을 공유합니다. 쿠버네티스 공식 문서 - Recommended 레이블https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/ Recommended LabelsYou can visualize and manage Kubernetes objects with more tools than kubectl and the dashboard. A common set of labels allows tools to wo..

Karpenter CoreDNS on Spot Instance 장애

이번 포스트에서는 최근에 발생한 CoreDNS 장애 관련 내용을 공유합니다. 당연한 것들인데 새롭게 배운 것들이 많습니다. Karpenter, CoreDNS 사용하는 분들에게 참고가 되었으면 합니다. 장애 현상일부 파드에서 DNS 조회 실패(dns resolve fail) 현상이 발생하였습니다.장애 원인Karpenter 설정에서 노드 그룹을 On-Demand와 Spot 두 가지로 운영하고 있었지만, interruptionQueue 설정이 누락되어 있었습니다. interruptionQueue 설정이 없으면 Spot 노드 종료 시 실행하고 있는 파드가 Graceful Shutdown하게 기존 세션을 종료하고 정상 종료되지 않아 해당 노드에 실행 중인 CoreDNS 파드 등에 문제가 발생합니다. 장애 조치1...

1인 DevOps의 고가용성, 작업 효율을 고려한 AWS 비용 최적화 작업 내역

작년 8월에 레벨스로 이직하고 주로 FinOps 비용 절감 관련으로 일을 많이 했다. 그래서 나름 많이 줄이기도 했었고. (자세한 비용을 공개하기는 어렵고..) 관련 작업 내역을 공유한다. 먼저 1인 DevOps로 3가지 '축'을 항상 고려한다. 인프라 운영은 비용, 고가용성, 작업 효율이 중요 요소다. 일반적으로 비용을 감소하면 장애 위험이 증가하는 경우가 많다. 그리고 비용 관련 리소스를 삭제하는 것은 작업 난이도가 있고(생성은 쉽고 삭제는 어렵다) 시간이 많이 소요된다. 무작정 비용을 줄이거나 반대로 운영 안정성을 증가한다는 명분하에 과도한 인프라 투자는 바람직하지 않다. 적절한 선택이 필요하다. 무엇이든 균형을 잡는 것(중도)이 가장 어렵고 가치있는 일이다. 한자로 가운데 '중'은 바람이 불어도 ..

FinOps 2024.04.29

FinOps 적용 방안 - 지표(Metric) 이용

한빛미디어에서 출간한 클라우드 핀옵스 기반으로 스터디에 참여하고 있습니다. 해당 내용 기반으로 FinOps 소개합니다. 먼저, 스터디를 주관해주신 https://www.costclipper.io/ CEO Eric Kim에 깊은 감사의 말씀을 전합니다. 일반적으로 클라우드 비용을 줄이기 위하여 재무팀, 운영팀 간 이야기하면 서로 배경 지식이 달라 의사 소통이 쉽지 않습니다. 재무팀은 '회사가 어려우니 10% 비용 줄이세요', 운영팀은 '비용 줄이다 장애 나면 책임질 수 있나요' 라고 하는 경우가 많죠. 아래 예시처럼 구체적인 데이터(또는 기준값 - 메트릭)를 기준으로 의사 소통하는 것을 권고합니다. (아직 현재 + 지난 회사에 적용되지 않은 이상적인 내용도 있어 조심스럽기는 한데, 일단 Best Pract..

FinOps 2023.10.12

EKS 비용 절감

이직한지 5주 되었는데 그동안 비용 절감 관련 작업한 것을 정리해 본다. 항상 느끼지만 비용 관련해서는 특별하고 어려운 기술이 필요한 것이 아니고 이미 아는 내용을 귀찮아 하지 말고 꼼꼼하게 적용하려는 개미의 근면함이 필요하다. 다른 사람, 팀과 공유하고 설득하는 과정이 참 중요하다. 그리고 스피드가 중요한 스타트업에게 새로운 기능을 추가하는 것이 비용절감 보다 더 가치있는 일이 될 수 있다. 어떤 일이 더 중요한지는 각 회사마다 상황이 다르니 적절한 의사 결정이 필요하다. 비용 10% 아끼는 것보다 새로운 기능 추가해서 100%, 200% 성장하는 게 훨씬 의미있는 일이 될 수 있다. 물론 회사 일이란 당연하게도 속도와 비용 절감 2가지 토끼를 모두 잡는 지혜가 필요하다. (이게 임원진 회의에서나 가능..

[제니퍼 소프트] EKS 교육 - 3. Argo-CD를 이용한 GitOps 시스템 구축

많이 빠른 감이 있지만 EKS 교육 3번째로 GitOps, ArgoCD를 다루었다. 내가 EKS를 설치할 때 Argo-CD App-Of-Apps 패턴을 사용한다. 앞으로 애플리케이션을 설치할 때 ArgoCD를 이용할 예정이라 쿠버네티스 네트워크, 스토리지에 관한 설명 전에 ArgoCD부터 설명하였다. EKS, 쿠버네티스를 이미 사용하고 있는 독자라면 이해가 어렵지 않겠지만 그렇지 아닌 분들은 어려울 수도 있을 것 같다. 하지만 모든 것이 그렇듯이 처음이 어렵지 두번째는 그리 어렵지 않다. 일단 이해가 안되어도 간단한 실습으로 넘어가고 다시 보면 이해가 훨씬 잘 될 것이라 믿고 ArgoCD부터 다루었다. https://jennifersoft.com/ko/blog/tech/2023-08-30-jennifer..

[제니퍼 소프트] EKS 교육 - 1. 쿠버네티스의 3가지 주요 특징과 네이티브 vs 매니지드 쿠버네티스 비교

1회 차 글 입니다. https://jennifersoft.com/ko/blog/tech/2023-08-16-jennifer-kubernetes-1/ 1. 쿠버네티스의 3가지 주요 특징과 네이티브 vs 매니지드 쿠버네티스 비교 필자는 현업 DevOps로 네이티브 쿠버네티스와 매니지드 쿠버네티스(EKS) 모두 경험하였습니다. 실제 운영하는 입장에서 쿠버네티스의 3가지 주요 특징과 네이티브와 매니지드 쿠버네티스의 차이 jennifersoft.com