쿠버네티스란
쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 확장 및 관리할 수 있도록 설계된 오픈소스 오케스트레이션 시스템임.
구글에 의해 개발됐으며, 현재는 클라우드 네이티브 컴퓨팅 재단에 의해 관리됨.
쿠버네티스의 주요 개념과 특징들에 대한 설명
1. 컨테이너 오케스트레이션
쿠버네티스는 다수의 호스트에서 컨테이너를 자동으로 배치하고, 관리하고, 스케일링하고, 네트워킹을 제공함.
이는 개발자가 애플리케이션의 라이프사이클에 더 집중할 수 있도록 해줌.
2. 클러스터 관리
쿠버네티스 클러스터는 마스터 노드와 워커 노드의 집합임.
마스터 노드는 클러스터 전반의 관리와 오케스트레이션을 담당하며, 워커 노드는 실제 애플리케이션 컨테이너가 실행되는 곳임.
3. 포드
최소 배포 단위인 포드는 하나 이상의 컨테이너로 구성됨.
이 포드들은 동일한 네트워크 및 스토리지 공간을 공유하여, 관련된 컨테이너가 서로 통신할 수 있음.
4. 서비스
서비스는 일련의 동적 포드에 대한 안정적인 주소를 제공함.
이를 통해 외부 또는 다른 포드에서 포드 그룹에 쉽게 접근할 수 있게 됨.
5. 배포
배포는 애플리케이션 업데이트 및 롤백을 관리함.
쿠버네티스는 선언적 업데이트를 지원하여 원하는 상태를 정의하면, 시스템이 자동으로 그 상태를 유지하도록 조정함.
6. 네임스페이스
네임스페이스는 클러스터 내의 리소스를 격리하고 구분하는 데 사용됨.
이를 통해 서로 다른 사용자나 팀이 동일한 클러스터에서 자원을 분리하여 사용할 수 있음.
7. 자동화된 롤아웃과 롤백
쿠버네티스는 애플리케이션의 변경사항을 점진적으로 적용하며, 문제가 발생하면 이전 버전으로 롤백할 수 있는 기능을 제공함.
8. 자동 빈 패킹
쿠버네티스는 리소스 요구사항과 기타 제약 조건에 따라 컨테이너를 자동으로 스케줄링하고, 가장 적합한 호스트를 선택함.
9. 확장성
쿠버네티스는 수동 스케일링 뿐만 아니라 자동 스케일링도 지원함.
CPU 사용량 같은 메트릭을 기반으로 포드의 포드의 개수를 자동으로 조절할 수 있음.
10. 서비스 디스커버리와 로드 밸런싱
쿠버네티스는 컨테이너에 IP 주소와 하나의 DNS 이름을 할당하고, 트래픽이 많은 경우 로드 밸런싱과 트래픽 분산을 수행할 수 있음.
쿠버네티스 정리
쿠버네티스는 이러한 기능을 통해 대규모 컨테이너화된 애플리케이션의 관리를 간소화하고, 지속적인 통합 및 배포를 위한 강력한 플랫폼을 제공함.
많은 기업들이 쿠버네티스를 도입하여 클라우드 환경에서의 애플리케이션 배포와 관리를 혁신하고 있음.
'Data Engineering > Zeppelin' 카테고리의 다른 글
[Zeppelin] Raft Consensus Algorithm (0) | 2024.09.14 |
---|---|
[Zeppelin] 쿠버네티스의 라벨 (0) | 2024.09.11 |
[Zeppelin] 도커 이미지 경량화 방법 (0) | 2024.09.10 |
[Zeppelin] 웹 기반 노트북 인터페이스 (2) | 2024.09.04 |
[Zeppelin] 아파치 제플린의 보안 (0) | 2024.08.26 |