컨테이너 오케스트레이션 시스템, "쿠버네티스(Kubernetes)"

 

Kubernetes?

- 상용 레벨 적용이 가능한 오픈소스 컨테이너 오케스트레이션 시스템

- 빠른 Dev와 간단한 Ops를 지향하는 "리눅스 컨테이너 클러스터" 관리 도구

  : Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops

 

Kubernetes 관련 동향

- 구글, Kubernetes 프로덕션 레디 버전 출시 (@OSCON 컨퍼런스, 7.21)

- 리눅스 재단, CNCF( Cloud Native Computing Foundation ) 설립 공표

  . 클라우드 & 컨테이너 친화적 어플리케이션을 위한 기술 개발이 목표

  . 구글, CNCF를 통해 Kubernetes를 발전시킬 계획임을 발표 (Kubernetes CNCF에 기증)

  . AT&T, Box, Cisco, Cloud Foundry, CoreOS, Docker, eBay, Google, Huawei, IBM, Intel,

Joyent, Mesosphere, Red Hat, Twitter, VMware 등 참여

  . 회원사(founding member) 모집중!

- 구글, "컨테이너 엔진" 사업 시작

  . https://cloud.google.com/container-engine/

  . Kubernetes를 호스팅하여 제공하는 managed 서비스

  . 베타 서비스 (몇 주 전까지만 해도 알파 서비스였음)

  . 특징

    - 도커 컨테이너 포맷 지원

    - 선언에 의한 관리(Declarative Management)

      : 컨테이너의 운영 요구조건(CPU/MEM, 리플리카 갯수, KeepAlive 정책)

JSON 파일에 선언하면, 컨테이너 엔진(Kubernetes)이 운영을 보장

  . 가격

    - "컨테이너 엔진"은 구글 "컴퓨트 엔진"이 제공하는 VM 위에서 동작

    - 베타 기간 동안 "컨테이너 엔진"에 대한 과금은 없으며, "컴퓨트 엔진" 사용량만 과금

 

Kubernetes 주요 개념/구성요소

- 클러스터(cluster)

  . 어플리케이션 컨테이너들이 배치되고 실행되는 컴퓨팅 자원

- 파드(pod)

  . 어플리케이션 실행에 필요한 도커 컨테이너들의 집합

  . 생명주기를 같이 하는 컨테이너들의 그룹

  . Kubernetes를 통한 배포(deploy) 및 실행의 최소 단위

- 리플리케이션(replication) 컨트롤러

  . pod들의 라이프사이클 관리자

  . 사용자의 선언(JSON 파일)에 따라 Pod 숫자(replica 숫자)를 관리

  . Pod들의 health status를 체크

- 서비스(service)

  . 관련 pod 집합을 대표하는 단일한/안정적인 이름 (IP Addr, ...)

  . 로드밸런서

- 레이블(label)

  . pod들의 그룹핑/조직화를 위해 관리하는 key-value pair/메타데이터

 

(이상)

Posted by ingeeC
,