왜 쿠버네티스가 필요할까?
쿠버네티스란?
쿠버네티스는 컨테이너화된 애플리케이션의 배포, 확장 등을 관리하는 것을 자동화하기 위한 플랫폼(컨테이너 오케스트레이션 엔진)이다.
2.2 쿠버네티스의 역사
구글이 내부적으로 사용하던 컨테이너 클러스터 관리 도구 'Bong'에서 아이디어를 얻어 만들어진 오픈 소스 소프트웨어
리눅스 재단 산하의 클라우드 네이티브 컴퓨팅 파운데이션(CNCF)으로 이관됨
쿠버네티스를 사용하면 무엇을 할 수 있을까?
여러 쿠버네티스 노드 관리
컨테이너 스케줄링 : 워크로드의 특징이나 쿠버네티스 노드의 성능을 기반으로 어느 노드에 배포할지 스케줄링 가능
롤링 업데이트
스케일링/오토 스케일링 : 같은 컨테이너 이미지를 기반으로 스케일링. 또한 부하에 따라 오토 스케일링 가능
리소스 관리 컨테이너 모니터링
자동화된 복구 : 프로세스를 모니터링하고 프로세스 정지를 감지하면 다시 컨테이너 스케줄링을 통해 자동 재배포 가능
서비스 디스커버리 : 컨테이너 시스템 구축 시, MSA 선택을 할 경우 매우 유용한 기능 로드 밸런싱 : 조건에 일치하는 엔드포인트 할당
데이터 관리 : 백엔드 데이터 스토어로 etcd 사용 중. etcd는 클러스터를 구성하여 이중화가 가능하고 컨테이너나 서비스의 매니페스트 파일도 이중화 구조로 저장.
워크로드 관리 로그 관리
선언적 코드를 사용한 관리 : YAML 형식이나 JSON 형식으로 작성한 선언적 코드(manifest)를 통해 배포 그 외 에코시스템과의 연계 및 확장
Last updated