dkos(mesos기반의 container orchestration)

36
DKOS: Mesos기반의 Container Orchestration 정원천 (hardy.jung) 카카오 클라우드컴퓨팅셀 [email protected]

Upload: won-chon-jung

Post on 21-Jan-2018

385 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Dkos(mesos기반의 container orchestration)

DKOS: Mesos기반의Container Orchestration

정원천 (hardy.jung)

카카오 클라우드컴퓨팅셀

[email protected]

Page 2: Dkos(mesos기반의 container orchestration)

왜 Mesos 를 선택했나요?

Page 3: Dkos(mesos기반의 container orchestration)

Mesos 란

Program against your datacenterlike it’s a single pool of resources

Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.

Page 4: Dkos(mesos기반의 container orchestration)

일반적인 애플리케이션 배포

Page 5: Dkos(mesos기반의 container orchestration)

Mesos를 이용한 배포

Page 6: Dkos(mesos기반의 container orchestration)

Mesos 아키텍처

Page 7: Dkos(mesos기반의 container orchestration)

Mesos 아키텍처

Page 8: Dkos(mesos기반의 container orchestration)

Marathon

• High Availability• Stateful apps• Scaling and fault recovery• Constraints• Service Discovery & Load Balancing• Event Subscription• Metrics• REST API

A container orchestration platform for Mesos and DC/OS

Page 9: Dkos(mesos기반의 container orchestration)

Marathon

Page 10: Dkos(mesos기반의 container orchestration)

Marathon

Page 11: Dkos(mesos기반의 container orchestration)

Marathon

Page 12: Dkos(mesos기반의 container orchestration)

Chronos

• 분산배치

• Task 의존성 정의

• 컨테이너 사용가능

• 성공/실패 내역제공

A fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules.

Page 13: Dkos(mesos기반의 container orchestration)

Chronos 아키텍처

Page 14: Dkos(mesos기반의 container orchestration)

Chronos

Page 15: Dkos(mesos기반의 container orchestration)

Chronos

Page 16: Dkos(mesos기반의 container orchestration)

DKOS(Datacenter of Kakao OS) 란

DKOS(Datacenter of Kakao OS)는 데이터센터 또는 클라우드의 모든 시스템을 공유 관리하여 자원을 활용하고 응용프로그램, 빅데이터 인프라 구축의 유연함과 확장성을 제공을 하는 마

치 하나의 컴퓨터 위에 올려진 OS

Page 17: Dkos(mesos기반의 container orchestration)

DKOS를 이용중인 서비스

Page 18: Dkos(mesos기반의 container orchestration)

DKOS를 이용중인 서비스

Page 19: Dkos(mesos기반의 container orchestration)

DKOS 아키텍처

Page 20: Dkos(mesos기반의 container orchestration)

DKOS 아키텍처

Page 21: Dkos(mesos기반의 container orchestration)

DKOS 아키텍처

Page 22: Dkos(mesos기반의 container orchestration)

DKOS 사용현황

• 사용중인 클러스터 : 400개

• 전체 노드 수 : 4000대

• 전체 컨테이너 개수 : 8800개

• 관리인원 : ?

Page 23: Dkos(mesos기반의 container orchestration)

제공기능

Page 24: Dkos(mesos기반의 container orchestration)

제공기능

• mesos 클러스터 생성

• Custom agent 추가

Page 25: Dkos(mesos기반의 container orchestration)

제공기능

Page 26: Dkos(mesos기반의 container orchestration)

제공기능

• SSL offloading• 클러스터 상태 알람

Page 27: Dkos(mesos기반의 container orchestration)

제공기능

Page 28: Dkos(mesos기반의 container orchestration)

Mesos agent

Service Discovery by Marathon-lb

Container

Marathon-lb

haproxy

Marathon Master Mesos agent

Container

Container

Mesos agent

Container

Container

Mesos Master

Event subscription

운영 mesos 사용자 mesos

Page 29: Dkos(mesos기반의 container orchestration)

Marathon-lb 현재 이슈

Hypervisor

Marathon-lb VM

VM

VM

Page 30: Dkos(mesos기반의 container orchestration)

서비스용 아키텍처

물리 LBMarathon lb

Marathon lb

Marathon lb

Mesos agent

Mesos agent

Mesos agent

Mesos agent

Mesos agent

containercontainer

DNS RR

Software lb

DKOS

Page 31: Dkos(mesos기반의 container orchestration)

DKOS

Continuous Deploy

Docker Registrygithub marathon Mesos

TagPush

Builder

Page 32: Dkos(mesos기반의 container orchestration)

모니터링 with KEMI

• Mesos 기본 stats은 현 상태만 알 수 있다.

• 에이전트• 시스템 메트릭

• 로드밸런서• 로드, haproxy response time

• 그룹 단위 알람

Page 33: Dkos(mesos기반의 container orchestration)

DKOS 로깅 with KEMI

• 용량 : TB

• ElasticSearch를 통한 검색

• 1년 보관

• 실시간 Tailing

• SQL 쿼리 기반 알람

Page 34: Dkos(mesos기반의 container orchestration)

We are hiring

• https://careers.kakao.com/jobs

[email protected]

Page 35: Dkos(mesos기반의 container orchestration)

Q&A

Page 36: Dkos(mesos기반의 container orchestration)

감사합니다