구글이 이식성(portable)을 갖고 확장가능한(extensible) 컨테이너화된 워크로드(an application running on kubernetes)와 서비스를 관리하기 위해 진행했던 프로젝트를 2014년에 오픈소스화 한 오픈소스 플랫폼이다.

쿠버네티스란 명칭은 키잡이(helmsman)나 조종사(pilot)을 뜻하는 그리스어에서 유래됐다. K8s 라는 표기는 Kubernetes 에서 "K"와 "s"와 그 사이에 있는 8글자를 약식으로 표기한 것이다.

쿠버네티스를 사용하는 주된 이유는 프로덕션 환경에서는 애플리케이션을 실행하는 컨테이너의 가동 중지 시간이 없는지 확인하고 중지되었으면 다른 컨테이너를 다시 시작하는 등의 컨테이너를 관리하는 목적으로 사용되고, 대표적인 쿠버네티스의 기능은 아래의 목록과 같다.

  • Service discovery and load balancing: 쿠버네티스는 DNS 또는 자체 IP 주소를 사용하여 컨테이너를 노출할 수 있고, 컨테이너에 대한 트래픽이 많은 경우 네트워크 트래픽을 로드밸런싱하면서 배포하여 배포가 안정적으로 이루어질 수 있다.
  • Storage orchestration: 쿠버네티스를 사용하면 로컬 저장소, 공용 클라우드 공급자 등과 같이 원하는 저장소 시스템을 탑재 할 수 있다.
  • Automated rollouts and rollbacks: 쿠버네티스를 사용하여 배포된 컨테이너의 원하는 상태(spec)를 서술할 수 있고 현재 상태(status)를 원하는 상태로 설정하여 변경할 수 있다. 예를 들어 쿠버네티스를 자동화해서 배포용 새 컨테이너를 만들고, 기존 컨테이너를 제거하고, 모든 리소스를 새 컨테이너에 적용할 수 있다.
  • Automatic bin packing: 컨테이너화된 작업을 실행하는데 사용할 수 있는 쿠버네티스 클러스터 노드를 제공한다. 각 컨테이너가 필요로 하는 CPU 와 메모리를 쿠버네티스에게 요구한다. 쿠버네티스는 컨테이너를 노드에 맞추어 리소스를 가장 잘 사용할 수 있도록 관리한다.
  • Self-healing: 쿠버네티스는 실패한 컨테이너를 다시 시작하고, 컨테이너를 교체하며, '사용자 정의 상태 검사'에 응답하지 않는 컨테이너를 죽이고, 서비스 준비가 끝날 때까지 그러한 과정을 클라이언트에 보여주지 않는다.
  • Secret and configuration management: 쿠버네티스를 사용하면 패스워드, OAuth 토큰 및 SSH 키와 같은 중요한 정보를 저장하고 관리 할 수 있다. 컨테이너 이미지를 재구성하지 않고 스택 구성에 시크릿을 노출하지 않고도 시크릿 및 애플리케이션 구성을 배포 및 업데이트 할 수 있다.

 

'플랫폼 > kubernetes' 카테고리의 다른 글

쿠버네티스 오브젝트 이름, ID  (0) 2022.07.12
쿠버네티스 오브젝트 관리  (0) 2022.07.12
쿠버네티스 오브젝트란?  (0) 2022.07.12
쿠버네티스 API  (0) 2022.07.11
쿠버네티스 클러스터 구성요소  (0) 2022.07.11

+ Recent posts