dkos(mesos기반의 container orchestration)
TRANSCRIPT
왜 Mesos 를 선택했나요?
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.
일반적인 애플리케이션 배포
Mesos를 이용한 배포
Mesos 아키텍처
Mesos 아키텍처
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
Marathon
Marathon
Marathon
Chronos
• 분산배치
• Task 의존성 정의
• 컨테이너 사용가능
• 성공/실패 내역제공
A fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules.
Chronos 아키텍처
Chronos
Chronos
DKOS(Datacenter of Kakao OS) 란
DKOS(Datacenter of Kakao OS)는 데이터센터 또는 클라우드의 모든 시스템을 공유 관리하여 자원을 활용하고 응용프로그램, 빅데이터 인프라 구축의 유연함과 확장성을 제공을 하는 마
치 하나의 컴퓨터 위에 올려진 OS
DKOS를 이용중인 서비스
DKOS를 이용중인 서비스
DKOS 아키텍처
DKOS 아키텍처
DKOS 아키텍처
DKOS 사용현황
• 사용중인 클러스터 : 400개
• 전체 노드 수 : 4000대
• 전체 컨테이너 개수 : 8800개
• 관리인원 : ?
제공기능
제공기능
• mesos 클러스터 생성
• Custom agent 추가
제공기능
제공기능
• SSL offloading• 클러스터 상태 알람
제공기능
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
Marathon-lb 현재 이슈
Hypervisor
Marathon-lb VM
VM
VM
서비스용 아키텍처
물리 LBMarathon lb
Marathon lb
Marathon lb
Mesos agent
Mesos agent
Mesos agent
Mesos agent
Mesos agent
containercontainer
DNS RR
Software lb
DKOS
DKOS
Continuous Deploy
Docker Registrygithub marathon Mesos
TagPush
Builder
모니터링 with KEMI
• Mesos 기본 stats은 현 상태만 알 수 있다.
• 에이전트• 시스템 메트릭
• 로드밸런서• 로드, haproxy response time
• 그룹 단위 알람
DKOS 로깅 with KEMI
• 용량 : TB
• ElasticSearch를 통한 검색
• 1년 보관
• 실시간 Tailing
• SQL 쿼리 기반 알람
Q&A
감사합니다