2025/03/15 18

📌 [StatefulSet 심화편 #21] StatefulSet과 Horizontal Pod Autoscaler(HPA) 적용 방법

1️⃣ 개요 StatefulSet은 일반적으로 데이터를 저장하고 상태를 유지하는 애플리케이션(예: 데이터베이스, 메시지 브로커 등)에 사용됩니다.그러나, 트래픽 증가 시 Pod 개수를 자동으로 조정해야 하는 경우에도 StatefulSet을 활용할 수 있습니다. 이번 글에서는 StatefulSet에 Horizontal Pod Autoscaler(HPA)를 적용하는 방법과, 고려해야 할 주요 사항을 설명하겠습니다. 🚀 2️⃣ StatefulSet에서 HPA가 필요한 이유 📌 StatefulSet에서 HPA가 필요한 주요 이유상황설명트래픽 급증API 서버, 캐시 서버(예: Redis) 등에서 갑작스러운 트래픽 증가 대응CPU/메모리 부하 증가일정 수준 이상의 리소스 사용량을 초과하면 자동으로 Pod 개수 ..

[Scenario Playbook Ep.8] 🚀 Deployment 편 #3 | AutoScaling 및 장애 대응

쿠버네티스에서 애플리케이션이 증가하는 트래픽을 자동으로 처리하고, 장애 발생 시 빠르게 대응하는 방법은 필수적입니다.이번 글에서는 Horizontal Pod Autoscaler(HPA)와 Pod 장애 감지를 위한 Liveness & Readiness Probe 설정 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ Horizontal Pod Autoscaler(HPA) 적용2️⃣ Liveness & Readiness Probe 설정 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ Horizontal Pod Autoscaler(HPA) 적용 📍 상황 설명 운영팀에서 트래픽이 증가할 때 자동으로 Pod 개수를 확장하여 처리량을 유지하도록 설정하려 합..

[Scenario Playbook Ep.7] 🚀 Deployment 편 #2 | Canary & Blue-Green 배포

쿠버네티스에서 무중단 배포 전략은 애플리케이션의 안정성을 유지하는 핵심 요소입니다.이번 글에서는 Canary 배포와 Blue-Green 배포 전략을 적용하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ Canary 배포 전략 적용2️⃣ Blue-Green 배포 전략 적용 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ Canary 배포 전략 적용 📍 상황 설명 운영팀에서 새로운 애플리케이션 버전을 전체 배포 전에 일부 트래픽을 대상으로 테스트하려 합니다.이를 위해 Canary 배포 전략을 사용하여 새로운 버전의 애플리케이션을 점진적으로 배포해야 합니다. • 기존 nginx:1.21.6 이미지를 실행 중인 web-deployment가 있습니다..

[Scenario Playbook Ep.6] 🚀 Deployment 편 #1 | 배포 전략 및 롤링 업데이트

쿠버네티스에서 Deployment는 애플리케이션의 배포 및 관리를 담당하는 핵심 리소스입니다.이번 글에서는 Deployment를 활용한 배포 전략과 롤링 업데이트 방식을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ 기본적인 Deployment 배포2️⃣ 롤링 업데이트 전략 적용 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ 기본적인 Deployment 배포 📍 상황 설명 운영팀에서 웹 애플리케이션을 안정적으로 배포할 수 있도록 Deployment를 활용하려 합니다.이 애플리케이션은 여러 개의 Replica(복제본)를 실행해야 하며, 트래픽을 분산시켜야 합니다. • Deployment의 이름은 web-deployment이어야 합니다. • nginx..

[Scenario Playbook Ep.5] 🚀 POD 편 #5 | Pod 스케줄링 & 실행 전략

쿠버네티스에서 Pod이 특정 조건에서만 실행되도록 제어하는 방법은 매우 중요합니다.이번 글에서는 Taint & Toleration을 이용한 노드 제어와 Pod이 재시작될 때마다 새로운 ID를 생성하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ Taint 및 Toleration을 이용하여 특정 노드에서 실행2️⃣ Pod이 재시작될 때마다 새로운 ID를 생성해야 하는 경우 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ Taint 및 Toleration을 이용하여 특정 노드에서 실행 📍 상황 설명 운영팀에서 특정 애플리케이션을 지정된 노드에서만 실행하도록 요구했습니다.이 애플리케이션은 다른 워크로드와 분리되어 특정 노드에서만 실행되어야 합니다..

[Scenario Playbook Ep.4] 🚀 POD 편 #4 | 스토리지 & 데이터 유지

쿠버네티스에서 애플리케이션이 데이터를 저장하고 유지하는 방법은 매우 중요합니다.이번 글에서는 PersistentVolumeClaim(PVC)과 HostPath를 활용하여 데이터 유지 방법을 설정하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ PersistentVolumeClaim을 사용하는 Pod2️⃣ HostPath를 이용한 특정 노드 파일 공유 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ PersistentVolumeClaim을 사용하는 Pod 📍 상황 설명 운영팀에서 애플리케이션이 재시작되더라도 데이터가 유지되어야 하는 상황이 발생했습니다.이를 위해 PersistentVolumeClaim(PVC)을 활용하여 스토리지를 유지해야 합..

[Scenario Playbook Ep.3] 🚀 POD 편 #3 | 다중 컨테이너 & 초기화 설정

쿠버네티스에서 하나의 Pod 내에 여러 개의 컨테이너를 실행하는 경우가 있습니다.이번 글에서는 사이드카 컨테이너(Sidecar Pattern)와 초기화 컨테이너(InitContainer) 활용 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ 다중 컨테이너(Sidecar 패턴) 적용2️⃣ InitContainer를 활용한 Pod 초기화 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ 다중 컨테이너(Sidecar 패턴) 적용 📍 상황 설명 애플리케이션이 실행될 때 로그를 파일로 저장하지만,이를 별도의 컨테이너에서 수집하여 중앙화된 로깅 시스템으로 전송해야 합니다. • Pod의 이름은 app-with-sidecar이어야 합니다. • main-app ..

[Scenario Playbook Ep.2] 🚀 POD 편 #2 | 리소스 제한 & 특정 노드 실행

쿠버네티스에서 애플리케이션이 무분별하게 리소스를 사용하지 않도록 제한하고,특정 노드에서만 실행되도록 설정하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ 특정 리소스 제한을 적용한 Pod 실행2️⃣ 특정 노드에서만 실행되는 Pod (Node Affinity) 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ 특정 리소스 제한을 적용한 Pod 실행 📍 상황 설명 운영팀에서 특정 애플리케이션이 과도한 리소스를 사용하지 않도록 제한하려 합니다.이 애플리케이션은 CPU를 많이 사용하므로 적절한 CPU 및 메모리 제한을 설정해야 합니다. • Pod의 이름은 resource-limited-app이어야 합니다. • CPU 사용량은 기본 요청 250m, 최..

[Scenario Playbook Ep.1] 🚀 POD 편 #1 | 기본 실행 & 환경 변수 설정

쿠버네티스에서 애플리케이션을 실행하는 가장 기본적인 방법은 Pod을 활용하는 것입니다.이번 글에서는 기본적인 애플리케이션 실행과 환경 변수를 설정하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ 기본적인 애플리케이션 실행 (단일 컨테이너 Pod)2️⃣ 환경 변수를 활용한 Pod 실행 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ 기본적인 애플리케이션 실행 (단일 컨테이너 Pod) 📍 상황 설명 운영팀에서 새로운 정적 웹 서버를 배포하려 합니다.테스트 목적으로 Nginx 컨테이너를 실행하는 가장 기본적인 Pod을 생성해야 합니다. • Pod의 이름은 nginx-pod이어야 합니다. • nginx:latest 이미지를 실행해야 합니다. • 컨..

📌 [StatefulSet 심화편 #30] StatefulSet을 활용한 고성능 데이터 저장소 운영 전략

1️⃣ 개요 StatefulSet은 데이터 영속성을 유지하면서 확장 가능한 애플리케이션을 배포하는 데 최적화된 Kubernetes 리소스입니다.특히, 대용량 데이터를 다루는 데이터베이스(MySQL, PostgreSQL), 메시지 브로커(Kafka, RabbitMQ), 분산 저장소(Elasticsearch, Ceph) 등의 운영에서는 성능 최적화가 필수적입니다. 이번 글에서는 StatefulSet을 활용하여 고성능 데이터 저장소를 운영하는 전략과 튜닝 방법을 정리하겠습니다. 🚀 2️⃣ StatefulSet을 활용한 데이터 저장소 운영 시 고려해야 할 사항 📌 StatefulSet 기반 데이터 저장소 운영 시 주요 고려 사항항목설명최적화 방법스토리지 IOPS데이터베이스나 로그 저장소의 입출력 성능고성능 ..

728x90