전체 글
-
Kubernetes OOMKill 예방과 메모리 관리 실전 가이드혼자서 공부하기/EKS 2025. 9. 1. 23:31
쿠버네티스의 메모리 요청과 제한 이해하기쿠버네티스에서 각 포드는 메모리 사용량을 요청(request)과 제한(limit)으로 지정할 수 있습니다. ‘요청’은 포드가 최소한으로 필요한 메모리, ‘제한’은 최대 사용할 수 있는 메모리입니다. 적절히 설정하지 않으면 일부 컨테이너가 과도하게 메모리를 잡아먹어 노드가 다운될 수 있으니 꼭 주의해야 합니다.resources: requests: memory: 512Mi limits: memory: 1Gi실시간 모니터링으로 조기 대응하기포드의 메모리 상태를 항상 체크해야 문제 발생 전에 막을 수 있습니다. Prometheus로 container_memory_usage_bytes 지표를 수집하고, Grafana로 경보(75%, 90% 등)를 설정하면 메모..
-
AWS EKS에서 Karpenter와 Spot 인스턴스 인터럽션 쉽게 이해하기혼자서 공부하기/EKS 2025. 9. 1. 23:30
EC2 Spot 인스턴스란?AWS EC2 Spot 인스턴스는 AWS가 남는 컴퓨팅 자원을 할인된 가격에 임시로 제공하는 서비스입니다. 수요에 따라 인스턴스가 예고 없이 종료될 수 있기 때문에, 비용은 저렴하지만 작업 중단을 감수해야 합니다.Karpenter의 역할과 장점Karpenter는 AWS에서 제공하는 오픈소스 Kubernetes 오토스케일러입니다. 클러스터의 상태와 워크로드를 분석해서 필요한 만큼 노드를 자동으로 생성하고 오토스케일링합니다. Spot 인스턴스와 온디맨드 인스턴스를 모두 사용할 수 있어, 자원을 효율적이면서도 경제적으로 운영할 수 있습니다.Spot 인스턴스 종료 지연 문제Spot 인스턴스가 종료될 때, 영속적인 볼륨을 사용하는 파드들은 볼륨이 제대로 분리되지 않아 재시작에 6분 이상..
-
멀티 리전 GitOps로 쿠버네티스 무중단 운영하기혼자서 공부하기/Kubernetes 2025. 9. 1. 23:30
단일 리전의 한계와 멀티 리전 GitOps의 필요성단일 리전에서만 쿠버네티스 클러스터를 운영하면 특정 지역의 장애가 전체 서비스 중단으로 이어질 수 있습니다. 실제로 많은 기업들이 여러 리전에 걸쳐 클러스터를 동기화하는 방식으로 장애 복구와 높은 가용성을 달성하고 있습니다. 멀티 리전 GitOps는 단일 장애점(SPOF)을 제거하고, 전 세계 사용자를 위한 서비스 안정성을 크게 높여줍니다.GitOps와 멀티 리전 확장의 핵심 개념GitOps는 Git 저장소를 인프라와 서비스의 단일 소스 오브 트루스(Single Source of Truth)로 활용합니다. 멀티 리전 GitOps는 이를 확장해, 여러 클라우드(예: AWS, Azure, GCP) 클러스터에 동일한 코드와 설정을 자동으로 적용 및 동기화합니다..
-
Argo Workflows와 GitHub Actions 연동 가이드혼자서 공부하기/Kubernetes 2025. 9. 1. 23:29
Argo Workflows 소개Argo Workflows는 쿠버네티스 환경에서 복잡한 작업의 자동화를 돕는 워크플로 엔진입니다. CI/CD 파이프라인이나 데이터 처리, 머신러닝과 같이 여러 단계가 필요한 과정을 효율적으로 관리할 수 있습니다.GitHub Actions의 역할GitHub Actions는 코드 변경 시 자동으로 테스트와 배포 과정을 실행하는 도구입니다. 개발자가 직접 GitHub 저장소에서 손쉽게 연동할 수 있어 자동화에 용이합니다.두 도구 연동의 장점Argo Workflows와 GitHub Actions을 함께 사용하면 클라우드 환경에서 작업을 크게 확장할 수 있습니다. 작업 병렬 수행(DAG 지원), 재사용 가능한 템플릿, 실시간 모니터링(UI와 CLI 제공), 비용 절감(쿠버네티스 자원..
-
AWS FinOps Dashboard 설치와 활용 요약혼자서 공부하기/AWS 2025. 9. 1. 23:28
AWS FinOps Dashboard란?AWS FinOps Dashboard는 터미널에서 사용할 수 있는 AWS 비용 및 리소스 관리 도구입니다. Python과 Rich 라이브러리로 개발되었으며, AWS 계정의 서비스별 비용, EC2 인스턴스 상태, 예산 사용 현황 등을 한눈에 보여줍니다. 데이터를 CSV, JSON 등으로 쉽게 내보낼 수 있습니다.설치 과정 준비하기이 도구를 설치하려면 우선 Python이 PC에 있어야 합니다. Python이 없다면 공식 사이트(https://www.python.org/downloads)에서 다운로드 후 설치하세요. 그다음, AWS CLI도 필요하니, aws cli가 없다면 공식 가이드(https://docs.aws.amazon.com/cli/latest/userguid..
-
Karpenter로 EKS 클러스터 자동 확장 쉽게 시작하기혼자서 공부하기/EKS 2025. 9. 1. 23:27
Kubernetes 확장의 어려움과 기존 방식의 한계Kubernetes를 운영하면서 트래픽이 증가하면 자동으로 노드를 늘려야 하는데, 기존 Cluster Autoscaler 방식은 미리 정해둔 노드 그룹이 필요하고, 설정이 복잡하며 확장 속도가 느립니다(수 분 소요). 특히 다양한 EC2 인스턴스 유형이 필요할 때마다 직접 노드 그룹을 만들어야 해서 관리가 번거롭고 자원 활용도가 떨어집니다.Karpenter란 무엇인가?Karpenter는 AWS가 개발하고 CNCF에 기증한 오픈소스 자동 노드 프로비저닝 컨트롤러입니다. 기존 방식과 다르게, Karpenter는 Kubernetes에서 필요할 때 EC2 인스턴스를 직접 생성해주어, 노드 그룹 없이도 다양한 인스턴스 유형을 자동 선택하고 빠르게 노드를 늘릴 수..
-
EKS 노드에서 삭제된 이미지를 ECR로 복구하는 방법혼자서 공부하기/EKS 2025. 9. 1. 23:26
문제 상황: ECR에서 이미지가 삭제된 경우개발 환경에서 사용 중인 이미지가 ECR에서 삭제되어, 파이프라인 재빌드도 불가능할 때가 있습니다. 그 이미지가 남아있는 유일한 곳이 EKS 노드라면, 직접 노드에서 이미지를 복구해야 합니다.준비 환경 요약아래 환경에서 작업을 진행합니다.EKS 클러스터: 1.30.3Kubectl: 1.30.1Containerd: 1.7.11Runc: 1.1.11EKS 노드에 접속하는 방법EKS 노드에 원격으로 접근하려면 AWS 콘솔에서 세션 매니저를 사용하면 편리합니다. 인스턴스의 connect 옵션을 누르면 바로 접속할 수 있습니다.노드에서 이미지 확인하기관리자로 권한을 얻은 후, nerdctl 명령어로 노드에 저장된 이미지를 조회할 수 있습니다.sudo -snerdctl i..
-
엔지니어링 매니저가 매일 사용하는 AI 툴들혼자서 공부하기/AI 2025. 9. 1. 23:24
효과적인 AI 프롬프트 작성의 중요성AI를 활용할 때는 처음부터 맥락과 세부정보를 정확히 전달하는 것이 결과의 품질을 좌우합니다. 원하는 답을 얻으려면 구체적인 정보와 명확한 요구를 프롬프트에 담아야 해요. 완벽하진 않더라도 이런 접근법 덕분에 시간과 에너지를 크게 아낄 수 있습니다.Granola: 스마트 미팅 노트 관리 도구Granola는 회의 중 받은 정보와 할 일들을 정리해주는 AI 노트테이커입니다. 내가 챙길 후속 작업은 뭐지? 또는 특정 결정은 어떻게 내려졌지? 같은 질문에 바로 답해줍니다. Granola 메모는 Notion과 연동하여 회의 내용을 팀과 공유할 수 있어, 모두가 필요한 정보를 쉽게 찾아볼 수 있도록 도와줍니다.Warp Terminal: 개발자를 위한 효율적인 터미널Warp Ter..