Devfair kubernetes 101

Preview:

DESCRIPTION

Kubernetes Introduction GDG Devfair 2014 @nacyo_t Maru 180

Citation preview

Kubernetes 101

nacyot

nacyot

Blog : http://blog.nacyot.com

Remotty / Docker Korea

Blog : Forum :

http://blog.remotty.comhttp://docker.co.kr

Kubernetes오늘의 주제helmsman of a ship줄여서 k8sGoogle을 중심으로 개발중인 오픈소스Docker 기반 Orchestration 도구(*)

0

Docker2014년 가장 관심 받았던 오픈소스 프로젝트더불어 Go 프로젝트 중 가장 핫한 프로젝트Dotcloud에서 개발(현재 Docker로 사명 변경)컨테이너형 가상화 기술

컨테이너형 가상화 : VM과의 차이

컨테이너형 가상화 : 프로세스와의 차이

컨테이너와 프로세스컨테이너 : 고유의 환경 + 프로세스하나의 프로세스만을 위한 환경 전체를 준비여기서 환경이란 실제로는 파일들의 집합-> 이미지

Demo (1)iHaskell

# Run ihaskell container$ docker run -p 8778:8778 gregweber/ihaskell

# Browse ihaskell$ firefox http://localhost:8778

Demo (2)

장점호스트에 가까운 성능

하드웨어 가상화에 비해 압도적 성능

프로세스 별로 고유의 환경을 가질 수 있다Build once, Run anywhere

단점프로세스마다 환경을 준비해야함

낭비로 느껴질 수도 있음

패러다임의 변화Immutable Infrastructure

Docker 이후

dev

ops

여기까지가 전제

Next Stage

Docker와 Kubernetes의 관계Docker : 컨테이너 운송(빌딩 블록)Kubernetes : 더 큰 물류 시스템

Kubernetes오픈소스 컨테이너 클러스터 관리 도구Declarative Orchestration 도구

기존 CM툴은 Imperative한 특성을 버릴 수 없음

desired state를 정의하고 이 상태가 유지하도록 함단순 실행이 아닌 컨테이너의 실행 스케줄을 관리

개념 (1)

Container

컨테이너형 가상화 기술에서 최소 단위격리된 고유의 환경을 가지는 프로세스

Pod

container manifestKubernetes의 최소 실행 단위항상 같은 Node 위에서 실행되어야하는 컨테이너'들'

Pod 안에서는 같은 네트워크 환경을 공유Pod 안에서는 디스크 공유 가능

YAML / JSON로 파일로 선언

Minion

컨테이너가 실행되는 물리적(혹은 논리적) 단위Node 위의 Docker Daemon에서 컨테이너를 실행Kubelet(kubernetes agent)Kubernetes Proxy

개념 (2) 클러스터

Master Server

API ServerSchedulerRegistries

Minion, Pod, Service, Binding

etcd Server

Kubelet(on Minion)

각 Minion에 설치되는 데몬컨테이너와 Pod을 관리하는 역할etcdcAdvisor

개념 (3) Label & 컨트롤러 & 서비스

Label

키, 값으로 구성된 메타 정보Pod / 서비스 / 컨트롤러에는 Label을 붙일 수 있다임의로 정의 가능태그 역할같은 Label을 같은 '것들'을 검색/조작 가능

Label Selector

Replication Controller

지정한 수만큼 Pod을 실행하도록 해주는 컨트롤러차이가 나면, 자동적으로 Pod 실행/종료현재는 Kubernetes에서 지원하는 유일한 컨트롤러

Service

같은 역할을 하는 Pod들을 묶는 단위Service가 요청을 받으면 Pod들에 처리를 넘겨줌

전체 그림

클라우드

Google Container Engine(GKE)Google Cloud Platforme에서 발표2014년 11월 5일미리 Kubernetes 클러스터가 구성된 서비스

Amazon EC2 Container ServiceAmazon Re:invent에서 발표2014년 11월 13일독자기술?

감사합니다@nacyo_t

Recommended