반응형
쿠버네티스란
컨테이너화된 애플리케이션을 배포, 관리, 확장할 때 수반되는 다수의 수동 프로세스를 자동화하는
오픈소스 컨테이너 오케스트레이션 기술
등장 배경
- 소프트웨어 개발의 변화
- 모놀리식 아키텍처에서 MSA 환경으로 변화하기 시작
- 컨테이너화 기술의 발전
- 애플리케이션과 그 종속성을 패키징 및 실행하는 경량화된 방식을 제공하는 컨테이너화 기술 등장
- 애플리케이션을 환경에 비종송적으로 개발이 가능해짐
- 대규모 컨테이너 관리의 필요
- 서비스의 규모가 커지며 마이크로 서비스 아키텍처로의 변화로 많은 수의 컨테이너 관리가 요구됨
쿠버네티스 주요 특징
1. 선언적 배포
원하는 시스템 또는 애플리케이션의 상태를 명시적으로 정의
→ 시스템은 현재 상태를 관찰하고, 원하는 상태로 수렴시킴
- 자동화된 스케일링
- 자가 치유 기능들을 지원
2. 자동화된 스케일링
애플리케이션의 부하에 따라 자동으로 리소스를 확장하거나 축소 가능
- Vertical Pod Autoscaler
Pod가 사용하는 리소스의 양을 자동으로 조정 (CPU, Memory..)
- Horizontal Pod Autoscaler
애플리케이션 부하에 따라 Pod의 개수를 자동으로 조정
- Cluster Autoscaler
클러스터 내의 Node의 개수를 동적으로 조절하여 클러스터의 수용 가능한 Work Node를 최적화
3. 자가 치유
자가 치유 매커니즘을 통해 실패한 컨테이너를 재시작한다.
노드가 죽는 경우, 컨테이너들을 교체하기 위해 다시 스케줄링을 하여 응답하지 않는 컨테이너를 종료시켜 클러스터의 안정성과 가용성을 유지한다.
- ReplicaSets
- Liveness Probe & Readiness Probes
4. 로드밸런싱
쿠버네티스에서는 2 가지 방식에 로드밸런싱을 지원해 줍니다.
Service 로드 밸런싱
Service 리소스는 쿠버네티스 클러스터 내에서 Pod 그룹에 대한 단일 Endpoint를 제공합니다.
서비스를 통해 내부 또는 외부 트래픽을 해당 Pod 그룹으로 로드밸런싱할 수 있습니다.
→ 즉, 서비스 리소스를 통해 각 파드와의 통신이 가능함
Ingress 로드 밸런싱
HTTP / HTTPS 트래픽을 클러스터 내의 서비스로 라우팅 하는 규칙을 정의합니다.
단일 IP 주소를 통해 여러 서비스에 접근할 수 있음
Ingress를 사용하면 URL 경로, 호스트 이름 등에 따라 트래픽을 다양한 서비스로 분산시킬 수 있음
→ 즉, Ingreess 리소스를 통해 각 서비스와의 통신이 가능함
반응형
'Infra > Kubernetes' 카테고리의 다른 글
[K8S] Kubernetes Job, CronJob 이해 및 활용법 (0) | 2024.09.27 |
---|---|
[Kubernetes] 쿠버네티스 ReplicaSet, Deployment 리소스 차이 이해하기 (0) | 2024.07.25 |
[K8S] Argo CD 및 GitHub으로 Kubernetes 애플리케이션을 쉽고 빠르게 자동 배포하는 방법 (0) | 2024.05.20 |
[K8S] Kubernetes deployment, service.yaml 코드 분석 및 작성하기 - 쿠버네티스 yaml (0) | 2024.05.20 |
[Kubernetes] 쿠버네티스 클러스터란, kubernetes cluster 이해하기- kakao kubernetes cluster 실습 (0) | 2024.05.20 |