본문 바로가기
클라우드

🎯 쿠버네티스(Kubernetes) 리소스 관리 완전 정리

by Mostlove 2025. 5. 27.
728x90
반응형

 

🗂️ Namespace (네임스페이스)

네임스페이스는 리소스를 논리적으로 격리하기 위한 단위로, 하나의 클러스터 안에서 여러 프로젝트, 팀, 목적에 따라 자원을 분리할 수 있다.

  • 🎯 VLAN/Subnet과 유사한 개념 (논리적 격리)
  • 기본적으로 3가지 주요 네임스페이스 존재:
    • default: 일반 사용자가 별도 지정 없이 사용하는 기본 공간
    • kube-system: K8s 내부 시스템 리소스들 존재 (예: DNS, scheduler 등)
    • kube-public: 인증 없이 조회 가능한 공용 정보 저장소
kubectl get namespace
kubectl create namespace dev
kubectl get pods -n kube-system

💡 kubectl api-resources --namespaced=true → 네임스페이스 종속 리소스만 보기
💡 --namespace 옵션을 사용하지 않으면 default namespace 사용됨


🧩 ConfigMap & Secret

ConfigMap

설정파일을 외부에서 주입할 수 있도록 지원하는 오브젝트.
→ 예: 로그 레벨, nginx.conf 등

kubectl create configmap my-config --from-literal=log_level=INFO
  • envFrom, valueFrom, volumeMounts로 파드에 주입 가능
  • 네임스페이스 단위로 관리됨

Secret

비밀번호, 인증키처럼 민감한 정보를 base64로 인코딩하여 저장
→ 예: TLS 인증서, DB 패스워드 등

kubectl create secret generic my-secret --from-literal=password=1234
kubectl create secret tls tls-secret --cert=cert.crt --key=cert.key

 

구분  ConfigMap Secret
용도 일반 설정 값 민감 정보 저장
보안성 평문 저장 base64 인코딩 후 저장
적용 방식 env/volumeMount env/volumeMount
예시 nginx.conf, 로그 설정 등 비밀번호, 인증서 등

🌐 Ingress

외부 트래픽을 클러스터 내부 서비스로 라우팅하는 역할.
Service의 확장 개념으로 L7 기반 라우팅, TLS 인증, 도메인 매핑을 처리한다.

  • Ingress 리소스 정의 + Ingress Controller 필요
  • 대표적 Controller: Nginx, Kong, GKE Ingress 등
kubectl apply -f ingress.yaml

💡 여러 서비스를 하나의 도메인에서 라우팅 처리할 수 있어 NodePort/LoadBalancer를 줄일 수 있음


💾 PV & PVC (Persistent Volume / Claim)

PV (Persistent Volume)

클러스터 내외부의 영구 저장소. 관리자가 미리 정의함

PVC (Persistent Volume Claim)

파드가 필요한 저장소를 요청하는 객체

kubectl apply -f pv.yaml
kubectl apply -f pvc.yaml
  • 스토리지 위치, 타입(NFS, iSCSI 등), 크기 등 추상화
  • 파드는 PVC만 참조하여 저장소 사용

 

구분  PV (관리자 정의)  PVC (사용자 요청)
목적 영속 스토리지 정의 스토리지 요청 및 사용
생성 스토리지 백엔드 기반 Deployment와 연결
활용 다양한 스토리지 타입 지원 파드는 PVC로 스토리지 접근

🎯 네트워크 스토리지 예시

  • 온프레미스: NFS, GlusterFS, Ceph 등
  • 클라우드: AWS EBS, GCP PD 등

📦 로컬/네트워크 볼륨

  • hostPath: 노드의 로컬 디렉토리를 파드와 공유
  • emptyDir: 파드 내 컨테이너 간 임시 저장소

📚 마무리 요약

 

리소스  주요 기능
Namespace 논리적 자원 격리
ConfigMap 설정 값 외부화
Secret 민감 정보 저장 (Base64 인코딩)
Ingress 외부 요청 라우팅, L7처리, TLS 인증 등
PV & PVC 스토리지 추상화, 파드에 영구 저장소 제공

 

반응형