모든 기록

7 / 20 페이지
Kubernetes

Kubernetes (37) - Kustomize로 환경별 매니페스트 구성 관리하기

같은 애플리케이션을 개발 환경과 운영 환경에 배포하면 YAML 파일이 조금씩 달라진다. 개발 환경은 Pod를 1개만 실행하고, 운영 환경은 3개를 실행할 수 있다. Ingress 주소, 이미지 태그, 리소스 제한도 환경마다 다를 수 있다. 이 차이 때문에 YAML을 통…

·7분
Kubernetes

Kubernetes (36) - Blue-Green과 Canary로 배포 전략 선택하기

새 버전을 배포하는 일은 단순히 Pod 이미지를 바꾸는 것보다 넓은 문제다. 기존 버전과 새 버전을 얼마나 오래 함께 실행할지, 어떤 기준으로 트래픽을 넘길지, 문제가 생겼을 때 얼마나 빨리 되돌릴지를 함께 결정해야 한다. 이 글에서는 Deployment의 기본 업데이…

·10분
Kafka

Spring Kafka (1) - Spring Boot로 Kafka Producer와 Consumer 이해하기

Kafka를 애플리케이션에 연결하려면 Producer와 Consumer의 클라이언트 설정, 직렬화 방식, 리스너 실행 등을 준비해야 한다. Spring Kafka는 이 과정을 Spring의 빈과 애노테이션으로 구성할 수 있게 해 주는 프로젝트다. 이번 글에서는 Spri…

·11분
Kubernetes

Kubernetes (33) - VPA로 Pod 리소스 요청량 자동 조절하기

앞 글에서 HPA는 부하에 따라 Pod 개수 를 조절한다고 살펴봤다. 하지만 Pod의 CPU·메모리 requests 자체가 실제 워크로드에 맞지 않으면, Pod가 불필요하게 많이 배치되지 않거나 반대로 자원을 낭비할 수 있다. Vertical Pod Autoscaler…

·7분
Kubernetes

Kubernetes (32) - HPA로 Pod 개수 자동 확장하기

웹 요청이 늘어날 때 Pod를 사람이 직접 늘리고, 한가해지면 다시 줄이는 일은 반복적이고 늦기 쉽다. Horizontal Pod Autoscaler(HPA)는 관측한 지표를 바탕으로 Deployment 같은 워크로드의 복제본 수를 자동으로 조절한다. HPA는 컨테이너…

·9분
Kubernetes

Kubernetes (30) - Ephemeral Storage와 Pod Eviction 이해하기

컨테이너는 파일을 쓸 수 있다. 로그 파일, 압축 해제 파일, 임시 캐시처럼 컨테이너가 사용하는 로컬 디스크도 결국 Kubernetes 노드의 디스크 공간을 차지한다. 이런 임시 디스크 사용량을 관리하는 리소스가 ephemeral storage 다. 데이터를 오래 보존…

·6분