**쿠버네티스(Kubernetes)**는 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링, 관리하는 오픈소스 컨테이너 오케스트레이션 플랫폼입니다. Google이 처음 개발했으며, 현재는 **Cloud Native Computing Foundation(CNCF)**에서 관리하고 있습니다.

쿠버네티스는 마이크로서비스, 클라우드 네이티브 아키텍처, DevOps 등 현대적인 소프트웨어 개발 방식에서 핵심적인 역할을 합니다.


쿠버네티스의 주요 특징

  1. 컨테이너 오케스트레이션
    • 컨테이너화된 애플리케이션을 클러스터에서 효율적으로 관리.
    • 애플리케이션 컨테이너의 배포, 네트워킹, 스케일링, 유지보수를 자동화.
  2. 확장성
    • 수평 스케일링(컨테이너 복제) 및 수직 스케일링(리소스 증가)을 통해 애플리케이션을 동적으로 확장 가능.
  3. 셀프힐링(Self-healing)
    • 실패한 컨테이너를 자동으로 재시작하거나, 문제가 있는 컨테이너를 교체.
    • 비정상적인 노드에서 실행 중인 컨테이너를 자동으로 종료하고, 대체 가능한 노드로 이동.
  4. 자동화
    • 배포(Deployment): 롤링 업데이트, 블루-그린 배포 등 다양한 전략을 제공.
    • 로드 밸런싱: 트래픽 분산으로 안정적인 서비스 제공.
    • 자동 스케일링: 리소스 사용량에 따라 컨테이너 수를 동적으로 조정.
  5. 플랫폼 독립성
    • 온프레미스, 퍼블릭 클라우드, 하이브리드 환경에서 모두 사용 가능.
    • AWS, Google Cloud, Azure 등 다양한 클라우드 플랫폼을 지원.
  6. 네트워킹
    • 각 컨테이너 간의 통신, 서비스 디스커버리, 로드 밸런싱을 지원.

쿠버네티스의 주요 구성 요소

1. 클러스터

  • 쿠버네티스는 클러스터 환경에서 작동하며, 클러스터는 여러 대의 머신(노드)으로 구성됨.
  • 노드(Node): 작업이 실제로 수행되는 물리적/가상 서버.

2. 마스터 노드(Master Node)

  • 클러스터를 제어하고 관리하는 중심 역할.
  • 주요 컴포넌트:
    • API 서버: 클라이언트 요청을 처리.
    • 스케줄러: 작업을 수행할 노드를 결정.
    • 컨트롤러 매니저: 클러스터 상태를 지속적으로 모니터링하고 원하는 상태로 유지.
    • etcd: 분산 키-값 저장소로 클러스터 상태를 저장.

3. 워커 노드(Worker Node)

  • 애플리케이션이 실제로 실행되는 노드.
  • 주요 컴포넌트:
    • Kubelet: 노드에서 실행 중인 컨테이너를 관리.
    • Kube Proxy: 네트워크 통신을 관리.
    • 컨테이너 런타임: 컨테이너를 실행하기 위한 도구(Docker, containerd 등).

4. 파드(Pod)

  • 쿠버네티스의 최소 배포 단위.
  • 하나 이상의 컨테이너가 실행되며, 동일한 네트워크와 스토리지를 공유.

5. 서비스(Service)

  • 클러스터 내부 또는 외부에서 파드에 안정적으로 접근할 수 있는 방법을 제공.
  • 로드 밸런싱 역할을 수행.

6. 네임스페이스(Namespace)

  • 클러스터를 논리적으로 분리하여 다중 사용자가 독립적인 환경을 사용할 수 있게 함.

7. 배포(Deployment)

  • 애플리케이션 배포, 업데이트, 스케일링, 롤백을 정의하고 관리.

쿠버네티스의 주요 장점

  1. 확장성과 효율성:
    • 쿠버네티스는 큰 규모의 애플리케이션을 효율적으로 관리하며, 애플리케이션을 자동으로 확장 및 축소 가능.
  2. 클라우드 네이티브:
    • 다양한 클라우드 환경과 호환되어 하이브리드 클라우드 전략에 적합.
  3. 자동화된 운영:
    • 수동으로 관리할 필요 없이 애플리케이션을 자동으로 관리.
  4. 유연성:
    • 다양한 컨테이너 런타임 및 클라우드 플랫폼을 지원.
  5. 오픈소스:
    • 커뮤니티 지원 및 지속적인 발전.

'Cloud' 카테고리의 다른 글

Podman 으로 Zoomoney 프로젝트 배포하기  (0) 2025.03.22
Skopeo  (0) 2025.01.21
Dev-Ops  (0) 2025.01.20
Cloud-Front  (0) 2025.01.15
기본적인 DevOps 를 하기위한 리눅스명령어  (0) 2024.11.26

+ Recent posts