728x90
반응형
쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 관리하는 오픈소스 플랫폼입니다. Google이 개발해 2014년 오픈소스로 공개했으며, 현재는 **클라우드 네이티브 컴퓨팅 재단(CNCF)**에서 관리하고 있습니다. 주로 컨테이너 오케스트레이션 도구로 사용되며, Docker와 같은 컨테이너 런타임과 함께 동작합니다.
주요 개념
- 컨테이너(Container):
- 애플리케이션과 그 실행 환경을 패키지화하여 어디서든 실행 가능.
- Docker는 가장 널리 사용되는 컨테이너 기술.
- 노드(Node):
- 애플리케이션이 실행되는 물리적/가상 서버.
- 마스터 노드: 클러스터 관리와 제어를 담당.
- 워커 노드: 실제 컨테이너 워크로드를 실행.
- 클러스터(Cluster):
- 노드들의 집합.
- 쿠버네티스는 클러스터를 기반으로 컨테이너를 오케스트레이션.
- 파드(Pod):
- 쿠버네티스의 최소 배포 단위.
- 하나 이상의 컨테이너가 포함되며, 동일한 네트워크와 스토리지를 공유.
- 서비스(Service):
- 파드의 집합에 대해 네트워크 접근을 제공하는 안정적인 엔드포인트.
- 디플로이먼트(Deployment):
- 파드와 컨테이너를 선언적으로 관리.
- 애플리케이션 업데이트와 롤백이 가능.
- 네임스페이스(Namespace):
- 클러스터 리소스를 논리적으로 구분하는 단위.
- 다중 사용자와 프로젝트를 지원.
- 컨트롤러(Controller):
- 애플리케이션의 상태를 지속적으로 모니터링하고 원하는 상태를 유지.
쿠버네티스의 주요 기능
- 자동화된 배포 및 관리:
- 설정한 상태에 따라 애플리케이션 배포를 자동화.
- 리소스를 효율적으로 사용하도록 조정.
- 확장성:
- 수평 확장(Horizontal Scaling)을 통해 파드를 자동으로 추가하거나 제거.
- 셀프 힐링(Self-Healing):
- 실패한 컨테이너를 자동으로 재시작.
- 사용 불가능한 노드를 대체.
- 서비스 디스커버리와 로드 밸런싱:
- 서비스 디스커버리 도구 없이도 파드 간의 통신 가능.
- 클러스터 내부에서 로드 밸런싱 수행.
- 롤아웃 및 롤백:
- 애플리케이션 배포를 단계적으로 실행.
- 문제가 발생하면 이전 상태로 롤백.
- 스토리지 오케스트레이션:
- 다양한 스토리지 시스템(CSI)과 통합.
- 로컬, 클라우드, 네트워크 스토리지 지원.
쿠버네티스의 장점
- 이식성: 온프레미스와 클라우드 간에 쉽게 애플리케이션을 이전 가능.
- 확장성: 대규모 애플리케이션 관리에 적합.
- 탄력성: 장애가 발생한 상태에서도 서비스를 유지.
- 생태계: Helm, Istio, Prometheus와 같은 도구와 통합 가능.
쿠버네티스 사용 사례
- 마이크로서비스 관리:
- 복잡한 마이크로서비스 구조를 손쉽게 배포 및 관리.
- CI/CD 파이프라인:
- Jenkins, GitLab CI/CD와 연동하여 지속적인 배포 환경 구축.
- 멀티 클라우드 및 하이브리드 클라우드:
- AWS, GCP, Azure 등 다양한 클라우드 제공업체와 통합.
- 데이터 분석 및 AI/ML:
- GPU 및 대규모 데이터 처리 클러스터에 적합.
쿠버네티스의 단점
- 복잡성:
- 초기 설정과 학습 곡선이 가파름.
- 많은 구성 요소와 개념으로 인해 관리가 어려울 수 있음.
- 리소스 요구량:
- 관리 노드와 워커 노드 모두 상당한 하드웨어 리소스를 요구.
- 운영 부담:
- 높은 수준의 관리 및 모니터링이 필요.
쿠버네티스 배포 방식
- 매니지드 서비스:
- AWS EKS, Google Kubernetes Engine(GKE), Azure Kubernetes Service(AKS) 등의 클라우드 서비스.
- 자체 구축:
- On-Premise 환경에서 쿠버네티스를 직접 설치 및 관리.
- K3s:
- 경량화된 쿠버네티스, 소규모 환경에 적합.
728x90
반응형
'Computer 공부 > Backend question' 카테고리의 다른 글
첨부파일 기능의 경우 신경써야하는 것들.. (0) | 2024.12.07 |
---|---|
API 설정시 나오는 이슈들.. 정리 (1) | 2024.12.07 |
실시간 서비스에서 사용자 수가 예상을 초과했을 때?.. (0) | 2024.11.30 |
JWT token api gateway 를 ? (0) | 2024.11.18 |
Docker / kubernetes 질문 리스트 (0) | 2024.11.17 |