Kubernetes의 정의
- 컨테이너화된 워크로드의 관리 및 오케스트레이션을 위한 이식가능하고 확장성 있는 오픈소스 플랫폼
- 복잡한 컨테이너 관리 작업을 추상화하고, 다양한 컴퓨팅 환경에서 컨테이너를 오케스트레이션 하는 선언적 구성을 제공
Kubernetes 이점
- Kubernetes사용의 이점은 작업 추상화를 기반으로 합니다.
컨테이너 자동 복구. 예를 들어 실패한 컨테이너를 다시 시작하거나 컨테이너를 바꿉니다.
요청에 따라 동적으로 배포된 컨테이너 개수 스케일 업 또는 다운
컨테이너의 자동 롤링 업데이트 및 롤백
스토리지 관리
네트워크 트래픽 관리
사용자 이름, 암호 등 중요한 정보 저장 및 관리
Kubernetes 고려사항
배포, 크기 조정, 부하 분산, 로깅 및 모니터링과 같은 측면은 모두 선택 사항입니다. 이와 같은 측면을 해결하기 위해 요구 사항에 맞는 최적의 솔루션을 찾아야 합니다.
Kubernetes는 플랫폼에서 실행할 수 있는 애플리케이션의 유형을 제한하지 않습니다. 컨테이너에서 애플리케이션을 실행할 수 있는 경우 Kubernetes에서 애플리케이션을 실행할 수 있습니다. 컨테이너화된 솔루션을 최대한 활용하기 위해 개발자는 마이크로 서비스 아키텍처와 같은 개념을 이해해야 합니다.
Kubernetes는 미들웨어, 데이터 처리 프레임워크, 데이터베이스, 캐시 또는 클러스터 스토리지 시스템을 제공하지 않습니다. 이 항목은 모두 컨테이너로 실행되거나 다른 서비스 제공 사항의 일부로 실행됩니다.
Kubernetes가 컨테이너를 실행하려면 Docker 같은 컨테이너 런타임이 필요합니다. 컨테이너 런타임은 컨테이너 관리를 담당하는 개체입니다. 예를 들어 컨테이너 런타임은 컨테이너의 상태를 시작하고 중지하며 보고합니다.
Kubernetes 환경을 유지 관리할 책임이 있습니다. 예를 들어 OS 업그레이드와 Kubernetes 설치 및 업그레이드를 관리해야 합니다. 네트워킹, 메모리 및 스토리지와 같은 호스트 머신의 하드웨어 구성도 관리합니다.