-
쿠버네티스 (Kubernetes, K8s)내일배움캠프 Spring 심화 1기/TIL 2024. 8. 8. 10:43
쿠버네티스
컨테이너화된 어플리케이션의 자동 배포, 스케일링 등을 제공하는 오픈 소스 기반의 컨테이너 관리 시스템입니다. 여러 클러스터 호스트 간에 어플리케이션 컨테이너의 배치, 스케일링, 운영을 자동화하기 위해 생겨났습니다.
쿠버네티스가 필요한 이유
쿠버네티스는 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 제공하여 어플리케이션의 확장과 장애 조치를 처리하고, 배포 패턴 등을 제공합니다.
- 서비스 디스커버리와 로드 밸런싱
- 쿠버네티스는 DNS 이름을 사용하거나 자체 IP주소를 사용하여 컨테이너를 노출할 수 있습니다. 컨테이너에 대한 트래픽이 많으면, 쿠버네티스는 네트워크 트래픽을 로드밸런싱하고 배포하여 배포가 안정적으로 이루어 질 수 있게 합니다.
- 스토리지 오케스트레이션
- 쿠버네티스를 사용하면 로컬 저장소, 공용 클라우드 공급자 등과 같이 원하는 저장소 시스템을 자동으로 탑재할 수 있습니다.
- 자동화된 롤아웃과 롤백
- 쿠버네티스를 사용하여 배포된 컨테이너의 원하는 상태를 서술할 수 있으며 현재 상태를 원하는 상태로 설정한 속도에 따라 변경할 수 있습니다. 예를 들어 쿠버네티스를 자동화해서 배포용 새 컨테이너를 만들고, 기존 컨테이너를 제거하고, 모든 리소스를 새 컨테이너에 적용할 수 있습니다.
- 자동화된 빈 패킹
- 컨테이너화된 작업을 실행하는데 사용할 수 있는 쿠버네티스 클러스터 노드를 제공합니다. 각 컨테이너가 필요로 하는 CPU와 메모리(RAM)를 쿠버네티스에게 지시하고 쿠버네티스는 컨테이너를 노드에 맞추어서 리소스를 가장 잘 사용할 수 있게 합니다.
- 자동화된 복구
- 쿠버네티스는 실패한 컨테이너를 다시 시작하고, 컨테이너를 교체하며, '사용자 정의 상태 검사'에 응답하지 않는 컨테이너를 죽이고, 서비스 준비가 끝날 때까지 그러한 과정을 클라이언트에 보여주지 않습니다.
- 시크릿과 구성 관리
- 쿠버네티스를 사용하면 암호, OAuth 토큰 및 SSH 키와 같은 중요한 정보를 저장하고 관리할 수 있습니다. 컨테이너 이미지를 재구성하지 않고 스택 구성에 시크릿을 노출하지 않고도 시크릿 및 애플리케이션 구성을 배포 및 업데이트 할 수 있습니다.
'내일배움캠프 Spring 심화 1기 > TIL' 카테고리의 다른 글
CQRS (Command Query Responsibility Segregation) (0) 2024.08.13 Amazon ECS (Amazon Elastic Container Service) (3) 2024.08.09 분산추적 (0) 2024.08.07 레디스 (Redis) (0) 2024.08.06 DB 버전관리 (Migration) (0) 2024.08.05 - 서비스 디스커버리와 로드 밸런싱