쿠버네티스란?
컨테이너화된 애플리케이션을 자동으로 배포, 확장, 관리해주는 오픈소스 플랫폼.
사용하는 이유
- 자가치유: 실행 중인 컨테이너에 문제가 생기면, 쿠버네티스가 이를 감지하고 자동으로 재시작하거나 교체하여 서비스 중단을 최소화함.
- 오토 스케일링: CPU 사용량이나 트래픽 같은 부하에 따라 컨테이너의 수를 자동으로 늘리거나 줄여 리소스를 효율적으로 사용함.
- 자동홛횐 롤아웃과 롤백: 새로운 버전의 앱을 배포할 때, 서비스 중단 없이 점진적으로 업데이트 할 수 있음. 만약 배포에 문제가 생기면 이전 버전으로 롤백 가능.
- 서비스 디스커버리 및 로드 밸런싱: 여러 컨테이너에 걸쳐 네트워크 트래픽을 분산시키고, 컨테이너의 IP 주소가 계속 바뀌더라도 안정적으로 서비스를 찾아 연결할 수 있도록 함.
핵심 요소
- 팟(Pod): 쿠버네티스에서 생성하고 관리할 수 있는 가장 작은 배포 단위. 하나 이상의 컨테이너 그룹으로 구성되며, 같은 팟 내의 컨테이너들은 네트워크와 스토리지 같은 자원을 공유.
- 노드(Node): 팟이 실행되는 물리적 또는 가상 머신 서버. 여러 노드가 모여 하나의 클러스터를 이룸.
- 클러스터(Cluster): 쿠버네티스의 전체 시스템. 클러스터의 상태를 관리하는 컨트롤 플레인과 작업을 수행하는 여러개의 노드로 구성됨.
- 서비스: 여러 팟들을하나의 그룹으로 묶어 외부에 노출시키는 고정된 접근 지점. 팟의 IP 주소가 계속 바뀌더라도 서비스의 고정된 주소를 통해 안정적으로 접근할 수 있게 해줌.
'공부한 것' 카테고리의 다른 글
| [서버] Nginx (0) | 2025.10.09 |
|---|---|
| [백엔드] NestJS (0) | 2025.10.08 |
| TyprScript와 JavaScript의 차이 (0) | 2025.08.03 |
| express.js (0) | 2025.08.03 |
| svelte로 만든 간단한 사이트 예시 코드 (0) | 2025.08.03 |