728x90 kubernetes5 EKS Blue/Green 업그레이드에서 Stateful 서비스를 바라보는 올바른 기준 EKS 버전을 Blue/Green 방식으로 업그레이드할 때, 가장 먼저 던져야 할 질문은 이것이다.“이 서비스의 상태(state)는 어디에 존재하는가?”Stateful 여부는 단순히 StatefulSet을 쓰느냐의 문제가 아니다.데이터가 어디에 있고, 누가 진실(Source of Truth)을 가지고 있느냐에 따라 난이도와 전략이 완전히 달라진다.실무에서는 stateful 서비스를 아래 세 가지로 나누는 것이 가장 명확하다.1. Pod 내부에 상태가 존재하는 서비스 (Pod-local state)개념상태가 컨테이너 또는 Pod에 연결된 파일 시스템에만 존재하는 경우다.대표적인 예는 다음과 같다.로컬 디스크(EBS RWO)에 직접 데이터 저장StatefulSet + PVC자체 DB, embedded DB단.. 프로그래밍공부(Programming Study)/DevOps-Cloud Native 2025. 12. 30. HashiCorp Vault로 시작하는 현대 시크릿 관리 가시다님께서 진행하신 CI/CD 스터디 추가 실습 내용을 기반으로 작성했다.CI/CD 스터디에서 HashiCorp Vault를 이용해 시크릿 관리와 Kubernetes 연동을 실습했다.이 글에서는 그때 정리한 내용을 바탕으로 다음 내용을 한 번에 훑어본다.왜 이제는 “시크릿 관리 도구”가 필수인지HashiCorp Vault가 무엇을 해결해 주는지Kind 기반 Kubernetes에 Vault를 설치하는 방법KV 시크릿 엔진으로 정적 시크릿을 저장하는 기본 흐름Vault Agent + Sidecar 패턴으로 애플리케이션과 Vault를 자연스럽게 붙이는 방법1. 시크릿과 현대 인프라: 왜 이제는 그냥 .env로는 안 되는가1-1. 시크릿(Secret)이란?시크릿은 “노출되면 안 되는 모든 정보”라고 보면 된다.. 스터디(Study)/CI·CD Study 2025. 11. 29. Argo Rollout과 AWS Spot Termination Event 대응: Pod 하나일 경우 순단 방지 및 Pod Drain 후 즉시 재배치하는 방법 1. Argo Rollout이란?Argo Rollout은 Kubernetes의 고급 배포 전략 도구로, 무중단 배포를 지원합니다. 카나리 배포나 블루-그린 배포 등 다양한 배포 방식을 쉽게 구현할 수 있으며, 실시간 모니터링 및 트래픽 제어 기능도 제공합니다.2. AWS Spot Termination Event란?AWS Spot Termination Event는 AWS에서 Spot Instance가 종료되기 2분 전에 발생하는 이벤트로, 이를 활용해 Pod를 안전하게 drain하고 다른 노드로 재배치할 수 있습니다. 하지만, Pod 하나만 존재하는 경우에는 순단(서비스 중단)이 발생할 수 있습니다.3. Pod 하나일 경우 순단 발생 문제Pod가 하나만 있는 경우, Spot Instance 종료 시 해당 .. 프로그래밍공부(Programming Study)/DevOps-Cloud Native 2024. 9. 20. Kubernetes에서 QoS와 Resource Request 및 Limit의 개념: CPU와 Memory의 의미 1. QoS란 무엇인가?QoS(Quality of Service)는 Kubernetes에서 파드를 실행할 때, 그 파드에 대한 자원 할당의 우선순위를 관리하는 메커니즘입니다. Kubernetes 클러스터는 여러 파드를 동시에 실행하기 때문에, 각 파드에 적절한 자원 할당 및 제한을 설정해야 효율적으로 리소스를 사용할 수 있습니다.Kubernetes는 파드의 QoS 클래스를 세 가지로 나눕니다:Guaranteed: 요청된 자원과 제한이 일치하는 경우. 이 클래스는 가장 높은 우선순위를 갖습니다.Burstable: 요청된 자원이 제한보다 작을 때. 유연한 사용이 가능하지만, 자원이 부족할 경우 제한이 있을 수 있습니다.BestEffort: 자원 요청이 전혀 설정되지 않은 경우. 우선순위가 가장 낮고, 자원이.. 프로그래밍공부(Programming Study)/DevOps-Cloud Native 2024. 9. 20. 쿠버네티스(Kubernetes, k8s) 컨트롤플레인과 데이터플레인: 구조와 통신 방법 이해하기 1. 쿠버네티스란?쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션의 자동 배포, 확장, 관리를 위한 오픈소스 플랫폼입니다. 다양한 클러스터 환경에서 애플리케이션을 안정적으로 운영할 수 있도록 돕는 역할을 합니다.2. 쿠버네티스 아키텍처 개요쿠버네티스는 크게 두 가지 주요 구성 요소로 나눌 수 있습니다: 컨트롤플레인(Control Plane)과 데이터플레인(Data Plane). 이 두 구성 요소는 클러스터의 상태를 관리하고, 애플리케이션이 적절하게 실행되도록 보장하는 중요한 역할을 합니다.3. 컨트롤플레인(Control Plane)컨트롤플레인은 쿠버네티스 클러스터의 전반적인 상태를 관리하고 조정하는 구성 요소들로 이루어져 있습니다. 주요 구성 요소는 다음과 같습니다:API 서버 (kube-ap.. 프로그래밍공부(Programming Study)/DevOps-Cloud Native 2024. 8. 13. 이전 1 다음 728x90