쿠버네티스(Kubernetes)에 대해 핵심적인 내용을 정리해드리겠습니다.
- 쿠버네티스란?
- 컨테이너화된 애플리케이션의 자동 배포, 스케일링, 관리를 위한 오픈소스 플랫폼
- 구글이 개발했으며 현재는 CNCF(Cloud Native Computing Foundation)에서 관리
- 컨테이너 오케스트레이션의 사실상 표준(De facto standard)
- 주요 특징
- 자동화된 복구(Self-healing)
- 수평적 확장(Horizontal scaling)
- 자동화된 롤아웃과 롤백
- 서비스 디스커버리와 로드 밸런싱
- 자동화된 빈 패킹(bin packing)
- 시크릿과 구성 관리
- 핵심 구성 요소
컨트롤 플레인 컴포넌트:
- kube-apiserver: API 서버, 클러스터의 게이트웨이
- etcd: 클러스터의 데이터베이스
- kube-scheduler: 새로운 파드 배치 담당
- kube-controller-manager: 컨트롤러 실행 관리
노드 컴포넌트:
- kubelet: 각 노드에서 실행되는 에이전트
- kube-proxy: 네트워크 규칙과 포워딩 담당
- 컨테이너 런타임: 컨테이너 실행 환경
주요 개념
Pod: 가장 작은 배포 단위 ReplicaSet: Pod 복제본 관리 Deployment: 선언적 업데이트 관리 Service: Pod 그룹에 대한 단일 접점 제공 Ingress: 외부 접근 규칙 정의 ConfigMap: 설정 정보 관리 Secret: 민감한 정보 관리
실제 사용 예시:
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80
장점
- 확장성과 고가용성
- 선언적 구성 관리
- 자동화된 운영
- 클라우드 중립적
- 큰 커뮤니티 지원
- 단점
- 학습 곡선이 가파름
- 작은 규모에선 과도할 수 있음
- 복잡한 설정과 관리 필요
추가적으로 더 자세한 내용이나 특정 부분에 대해 알고 싶으신 것이 있다면 말씀해 주세요.
'IT > kubernetes[k8s]' 카테고리의 다른 글
Kubernetes PV와 PVC 개요 (0) | 2024.11.16 |
---|---|
Kubernetes Pod 개요 (2) | 2024.11.16 |
쿠버네티스 기본 명령어 모음 (0) | 2024.11.15 |
Taints와 Tolerations (1) | 2024.11.15 |
Kubernetes Ingress (0) | 2024.11.14 |