목록k8s/kubernetes-pattern (20)
근묵자흑
쿠버네티스에서 애플리케이션 설정을 관리하는 것은 클라우드 네이티브 아키텍처의 핵심 요소입니다.이 글에서는 Kubernetes Patterns 책의 19장 "EnvVar Configuration"과 20장 "Configuration Resource" 패턴을 깊이 있게 살펴보도록 하겠습니다.1. Configuration Patterns 개요1.1 설정 외부화의 필요성Twelve-Factor App 방법론에서 강조하듯이, 설정을 코드에서 분리하는 것은 현대 애플리케이션 개발의 필수 원칙입니다. 컨테이너화된 애플리케이션에서는 이 원칙이 더욱 중요합니다. 설정 하드코딩 방식은 환경별로 다른 이미지를 빌드해야 하는 반면, 설정 외부화 방식은 하나의 이미지로 모든 환경에 배포할 수 있습니다.graph TB su..
Ambassador 패턴은 Kubernetes의 구조적 패턴(Structural Patterns) 중 하나로, 외부 서비스에 대한 접근을 프록시하고 복잡성을 숨기는 특수한 사이드카 컨테이너입니다. 이 패턴을 통해 메인 애플리케이션 컨테이너는 외부 의존성에 직접 접근하지 않고도 localhost를 통해 단순화된 인터페이스로 외부 서비스를 사용할 수 있습니다.flowchart LR subgraph Pod["Pod"] direction LR Main["메인 애플리케이션컨테이너"] Ambassador["Ambassador컨테이너"] Main -->|"localhost:port"| Ambassador end Ambassador -->|"프록시"| ..
CNCF 블로그이 블로그는 CNCF(Cloud Native Computing Foundation)의 공식 블로그 글들을 기반으로 작성되었습니다.What is Observability 2.0? (2025.01) - Observability 2.0 개념 정의Observability Trends in 2025 – What's Driving Change? (2025.03)Highlights from CNCF's first Open Observability Summit (2025.10)From chaos to clarity: How OpenTelemetry unified observability across clouds (2025.11)1. 들어가며: 왜 Observability인가?Kubernetes 환경에서 ..
현대의 분산 시스템 환경에서는 다양한 기술 스택이 공존합니다:Java 레거시 애플리케이션: JMX 프로토콜로 메트릭 노출Python 마이크로서비스: 커스텀 JSON 로그 파일 기록Go 서비스: StatsD 형식으로 UDP 전송Node.js 애플리케이션: 구조화된 JSON 로그이러한 이기종 시스템들을 Prometheus, ELK Stack 같은 통합 모니터링 플랫폼으로 연결해야 할 때, 각 애플리케이션을 수정하는 것은 비효율적입니다. Adapter Pattern은 이 문제에 대한 구조적 해결책을 제공합니다.GoF Adapter Pattern에서 Kubernetes로의 확장디자인 패턴의 진화Adapter Pattern은 GoF(Gang of Four) 디자인 패턴 중 하나로, 호환되지 않는 인터페이스를 가진..
왜 배치 Job이 완료되지 않을까?프로덕션 환경에서 다음과 같은 경험을 해보셨나요?apiVersion: batch/v1kind: Jobmetadata: name: data-processingspec: template: spec: containers: - name: processor image: data-processor:1.0 # 30분 후 데이터 처리 완료... - name: cloud-sql-proxy image: gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.8.0 # DB 프록시는 계속 실행 중...결과:$ kubectl get jobsNAME COMPL..
애플리케이션을 배포할 때 이런 고민을 해본 적 있으신가요?"데이터베이스가 준비되기 전에 애플리케이션이 시작되면 어떡하지?""Git 저장소에서 최신 설정을 가져온 후에 서버를 시작하고 싶은데...""로그 수집기를 사이드카로 붙이고 싶은데, 순서를 어떻게 보장하지?"이런 문제들을 우아하게 해결하는 것이 바로 Init Container 패턴입니다. 이 글에서는 Kubernetes v1.34.0 환경에서 테스트한 6가지 예제를 통해 Init Container의 모든 것을 알아보겠습니다. Init Container란 무엇인가?Init Container는 Pod의 메인 애플리케이션 컨테이너가 시작되기 전에 실행되는 특수한 컨테이너입니다. 일반 컨테이너와의 차이점:특성Init ContainerApplication C..
