목록k8s (23)
근묵자흑

1. Persistent Volume (PV) - 스토리지라는 창고PV가 뭘까요?PV는 Kubernetes 클러스터에서 제공하는 '스토리지 창고'라고 생각하면 됩니다.일상생활에 비유하면:아파트 단지의 공용 보관함대여할 수 있는 창고빌릴 수 있는 저장 공간주요 특징:클러스터 리소스: 노드처럼 클러스터의 일부로 존재파드와 독립적: 컨테이너가 삭제되어도 데이터가 유지접근 모드: 누가 어떻게 접근할 수 있는지 정의apiVersion: v1kind: PersistentVolumemetadata: name: my-storagespec: capacity: storage: 5Gi accessModes: - ReadWriteOnce # 한 번에 한 노드만 읽기/쓰기 가능 persistentVolume..

Kubernetes를 사용하다 보면 영구 스토리지 관리는 핵심적인 부분입니다. 특히 PersistentVolume(PV)과 PersistentVolumeClaim(PVC)이 어떻게 바인딩되는지 그 내부 동작 방식을 이해하는 것은 효율적인 스토리지 관리에 매우 중요합니다. 이 블로그에서는 Pod가 생성될 때 PV와 PVC가 바인딩되는 전체 워크플로우를 심층적으로 분석하고, Kubernetes 소스 코드를 통해 내부 동작 원리를 알아보겠습니다.Kubernetes 스토리지 기본 개념Kubernetes에서 영구 스토리지를 관리하는 주요 객체들을 먼저 이해해 봅시다:PersistentVolume(PV): 관리자가 프로비저닝하거나 스토리지 클래스를 통해 동적으로 프로비저닝된 클러스터의 스토리지 조각입니다. PV는 ..

Kubernetes 아키텍처 개요컨트롤 플레인 컴포넌트 상세 분석워커 노드 컴포넌트 상세 분석Pod 생성 워크플로우 심층 분석Kubernetes 객체 관계선언적 상태 관리 워크플로우Ingress 워크플로우운영 고려사항Kubernetes 아키텍처 개요Kubernetes(쿠버네티스)는 컨테이너화된 애플리케이션의 배포, 스케일링, 관리를 자동화하는 오픈소스 플랫폼입니다. 전체 아키텍처는 크게 컨트롤 플레인과 워커 노드로 구성됩니다.GitHub 리포지토리: https://github.com/kubernetes/kubernetes컨트롤 플레인은 클러스터의 '두뇌' 역할을 하며, 워커 노드는 실제 애플리케이션 컨테이너가 실행되는 곳입니다. 이 두 요소는 함께 작동하여 컨테이너화된 애플리케이션의 효율적인 배포와 관리..

1. Nginx Ingress Controller의 등장 배경1.1 C10K 문제와 이벤트 기반 아키텍처인터넷 발전 초기 단계에서 대부분의 웹 서버는 연결당 하나의 프로세스나 스레드를 할당하는 방식으로 동작했습니다. 이는 적은 수의 연결에서는 잘 작동했지만, 동시 연결 수가 증가하면서 한계에 부딪혔습니다.1990년대 후반, Dan Kegel은 "C10K 문제"라는 용어를 만들었습니다. 이는 서버가 10,000개의 동시 연결(Connections 10K)을 처리하는 과제를 의미합니다. 하드웨어 자원이 충분함에도 불구하고 I/O 처리 방식의 한계로 인해 서버가 제대로 처리하지 못하는 현상이었습니다. C10K 문제의 핵심 원인:1. 연결당 하나의 프로세스/스레드 모델의 비효율성2. 커널의 I/O 처리 방식(s..
1. 인그레스를 사용하는 이유쿠버네티스 환경에서 애플리케이션을 외부에 노출시키는 방법은 여러 가지가 있습니다. 기본적인 Service 리소스(NodePort, LoadBalancer, ClusterIP)만으로도 기본적인 네트워킹 요구사항을 충족할 수 있지만, 복잡한 프로덕션 환경에서는 한계점이 명확해집니다.인그레스(Ingress)를 사용하는 근본적인 이유는 Layer 7(HTTP/HTTPS) 수준의 라우팅과 로드 밸런싱 기능을 제공하기 위함입니다. 기존 Service만으로는 구현하기 어려운 고급 트래픽 제어 기능이 필요할 때 인그레스가 그 해결책이 됩니다.1.1 비용 최적화클라우드 환경에서 LoadBalancer 타입의 Service를 사용하면 각 서비스마다 별도의 로드 밸런서가 프로비저닝되어 비용이 증..
쿠버네티스(Kubernetes)는 현대 클라우드 네이티브 환경에서 컨테이너 오케스트레이션의 표준으로 자리잡았지만, 복잡한 아키텍처와 다양한 구성 요소로 인해 보안 취약점에 노출될 가능성이 있습니다. 특히 서비스(Service)와 시크릿(Secret) 리소스는 클러스터 운영에 필수적이지만, 잘못 구성되면 심각한 보안 위협을 초래할 수 있습니다. 1. 서비스(Service) 관련 취약점1.1 서비스 계정 토큰 탈취공격 방법:공격자가 Pod 내부에 접근하면 자동으로 마운트되는 /var/run/secrets/kubernetes.io/serviceaccount/token 파일에서 서비스 계정 토큰을 추출할 수 있습니다.이 토큰은 기본적으로 만료 시간이 없어, 탈취 시 장기간 악용될 수 있습니다.추출된 토큰으로 K..