2025/03/16 66

[Scenario Playbook Ep.31] 🚀 NetworkPolicy 편 #1 | 기본적인 네트워크 정책 설정

쿠버네티스에서 NetworkPolicy는 네트워크 트래픽을 제어하여 특정 Pod 간의 통신을 제한하거나 허용하는 기능을 제공합니다.이번 글에서는 기본적인 NetworkPolicy를 설정하고, 특정 Pod에 대한 인바운드(Ingress) 및 아웃바운드(Egress) 트래픽을 제어하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ 특정 Pod에 대한 인바운드(Ingress) 트래픽 제한2️⃣ 특정 Pod의 아웃바운드(Egress) 트래픽 제한 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ 특정 Pod에 대한 인바운드(Ingress) 트래픽 제한 ❓ 문제 상황 운영팀에서 특정 애플리케이션 Pod이 외부에서 접근되지 않도록 제한해야 하는 요구사항이 ..

[Scenario Playbook Ep.30] 🚀 HPA 편 #3 | HPA와 Cluster Autoscaler 연동

쿠버네티스에서 HorizontalPodAutoscaler(HPA)는 Pod의 개수를 자동으로 조절하지만, 클러스터 내 리소스가 부족하면 확장이 제한될 수 있습니다.이를 해결하기 위해 Cluster Autoscaler를 연동하면, 필요한 경우 노드를 자동으로 추가하여 확장성을 극대화할 수 있습니다.이번 글에서는 HPA와 Cluster Autoscaler를 함께 설정하여 원활한 확장 환경을 구축하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ HPA 적용 후 노드 리소스 부족 시 확장 문제 발생2️⃣ Cluster Autoscaler 연동을 통한 자동 노드 확장 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ HPA 적용 후 노드 리소스 부족 시..

[Scenario Playbook Ep.29] 🚀 HPA 편 #2 | 메모리 및 사용자 정의 메트릭 기반 확장

쿠버네티스의 HorizontalPodAutoscaler(HPA)는 CPU뿐만 아니라 메모리 및 사용자 정의 메트릭을 기반으로도 확장할 수 있습니다.이번 글에서는 메모리 사용량을 기반으로 HPA를 설정하는 방법과 사용자 정의 메트릭(Custom Metrics)으로 확장하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ 메모리 사용량을 기반으로 자동 확장2️⃣ 사용자 정의 메트릭(Custom Metrics) 기반 확장 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ 메모리 사용량을 기반으로 자동 확장 ❓ 문제 상황 운영팀에서 CPU 사용량이 아니라 메모리 사용량을 기준으로 HPA를 설정해야 하는 요구사항이 생겼습니다.애플리케이션이 메모리를 많이 사..

[Scenario Playbook Ep.28] 🚀 HPA 편 #1 | 기본적인 HPA 설정 및 CPU 기반 자동 확장

쿠버네티스에서 HorizontalPodAutoscaler(HPA)는 애플리케이션의 부하에 따라 자동으로 Pod 개수를 조절하는 기능을 제공합니다.이번 글에서는 기본적인 HPA 설정 방법과 CPU 사용량을 기반으로 Pod을 자동 확장하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ 기본적인 HPA 설정 및 적용2️⃣ CPU 사용량을 기반으로 자동 확장 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ 기본적인 HPA 설정 및 적용 ❓ 문제 상황 운영팀에서 애플리케이션의 부하가 증가할 경우 Pod 개수를 자동으로 조절하는 기능이 필요합니다.기본적으로 Pod의 개수를 수동으로 조절하는 것이 아니라, CPU 사용량을 기준으로 자동으로 확장되도록 설정해..

[Scenario Playbook Ep.27] 🚀 DaemonSet 편 #2 | Taint & Toleration을 이용한 특정 노드 실행

쿠버네티스에서는 Taint & Toleration을 활용하여 특정 노드에서만 DaemonSet을 실행할 수 있습니다.이번 글에서는 Taint를 적용하여 특정 노드에서만 DaemonSet이 배포되도록 설정하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ 특정 노드에서만 실행되도록 Taint & Toleration 설정2️⃣ 특정 노드에서만 실행되는 DaemonSet 배포 검증 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ 특정 노드에서만 실행되도록 Taint & Toleration 설정 ❓ 문제 상황 운영팀에서 모니터링 에이전트를 특정 노드에서만 실행해야 하는 요구사항이 생겼습니다.클러스터의 모든 노드가 아니라, 특정 노드에만 Pod이 실행되..

[18편] pgvector 기반 AI 검색 시스템의 확장 및 운영 전략

이 글에서는 PostgreSQL pgvector를 기반으로 한 AI 검색 시스템을 확장하고 운영하는 방법을 다룹니다.특히, 트래픽 증가에 대비한 확장 전략, Multi-Region 배포, 장애 복구(Failover) 및 성능 최적화 방안을 중심으로 설명합니다. ✅ 벡터 검색 시스템의 트래픽 확장 전략 (수평/수직 확장)✅ Multi-Region 데이터베이스 배포 및 글로벌 서비스 운영✅ 고가용성을 위한 장애 복구 및 Failover 전략 🚀 1. pgvector 기반 AI 검색 시스템의 확장 전략 AI 검색 시스템은 사용량이 증가할수록 데이터베이스 부하가 증가하기 때문에 확장성이 중요합니다.확장 방식에는 수직 확장(Vertical Scaling) 과 수평 확장(Horizontal Scaling) 이 있..

[17편] 대규모 벡터 데이터 최적화 및 비용 절감 전략

이 글에서는 대규모 벡터 데이터를 효율적으로 저장하고 검색 성능을 최적화하는 방법을 다룹니다.특히, 벡터 데이터 압축(Quantization), 차원 축소(PCA, Autoencoder), 클라우드 비용 최적화 전략을 중심으로 실무적인 접근법을 설명합니다. ✅ 벡터 데이터 압축(Quantization)을 활용한 저장 공간 절약✅ 차원 축소(PCA, Autoencoder)로 검색 성능 개선✅ 클라우드 환경에서 벡터 데이터 비용 절감 전략 🚀 1. 벡터 데이터 최적화가 필요한 이유 벡터 데이터는 일반적으로 1536차원(OpenAI), 768차원(Hugging Face) 등 매우 고차원이므로, 저장 비용 및 검색 속도 최적화가 필수적입니다. ✅ 대규모 벡터 데이터가 초래하는 문제점 문제점설명해결책저장 공간 ..

[16편] pgvector + LangChain을 활용한 AI 챗봇 구축

이 글에서는 LangChain과 pgvector를 활용하여 RAG(Retrieval-Augmented Generation) 기반 AI 챗봇을 구축하는 방법을 다룹니다.특히, 문서를 벡터화하여 pgvector에 저장하고, AI 챗봇이 문서를 검색하여 답변을 생성하는 시스템을 구현하는 과정을 정리합니다. ✅ LangChain + pgvector를 활용한 AI 챗봇 구축✅ RAG 기반 문서 검색을 통해 더욱 정밀한 AI 답변 생성✅ FastAPI를 활용한 AI 챗봇 API 개발 및 최적화 🚀 1. RAG(Retrieval-Augmented Generation) 기반 AI 챗봇이란? RAG는 AI가 단순히 답변을 생성하는 것이 아니라, 먼저 벡터 검색을 수행하여 관련 문서를 찾은 후 답변을 생성하는 방식입니다..

[Scenario Playbook Ep.24] 🚀 StatefulSet 편 #3 | Pod 순차적 배포 및 업데이트 전략

쿠버네티스에서 StatefulSet은 Pod을 순차적으로 배포하고, 롤링 업데이트 시에도 순서를 유지하는 특징이 있습니다.이번 글에서는 StatefulSet의 Pod이 순차적으로 생성되도록 설정하는 방법과 롤링 업데이트 전략을 적용하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ Pod을 순차적으로 배포하도록 설정2️⃣ StatefulSet 업데이트 시 순차적 롤링 업데이트 적용 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ Pod을 순차적으로 배포하도록 설정 ❓ 문제 상황 운영팀에서 데이터베이스, 메시지 브로커, 분산 애플리케이션과 같은 서비스가 올바르게 실행되려면 Pod이 순차적으로 생성되어야 하는 요구사항이 생겼습니다.각 Pod은 이전..

[Scenario Playbook Ep.26] 🚀 DaemonSet 편 #1 | 모든 노드에서 실행되는 Pod 배포

쿠버네티스에서 DaemonSet은 클러스터의 모든 노드에서 동일한 Pod을 실행하는 데 사용됩니다.이번 글에서는 DaemonSet을 활용하여 모든 노드에서 로그 수집, 모니터링, 시스템 에이전트 등을 배포하는 방법을 다룹니다. 📌 글에서 다루는 상황들 1️⃣ 모든 노드에서 실행되는 DaemonSet Pod 배포2️⃣ 특정 노드에서만 실행되도록 DaemonSet을 제한 각 문제를 실무에서 바로 활용할 수 있도록 Manifest 템플릿과 예상 결과 값을 제공합니다. 1️⃣ 모든 노드에서 실행되는 DaemonSet Pod 배포 ❓ 문제 상황 운영팀에서 클러스터 내 모든 노드에서 로그 수집 및 모니터링 에이전트를 실행해야 하는 요구사항이 생겼습니다.각 노드마다 하나의 Pod이 실행되어야 하며, 새로운 노드가 ..

728x90