SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Kakao Container Cloud, DKOS
정원천 (hardy.jung)
카카오 클라우드디플로이셀
hardy.jung@kakaocorp.com
DKOS 란?
• Kakao Container Cloud for mesos, kubernetes
• Integration with Kakao Infra
• Custom Feature
DKOS 를 사용중인 서비스들
DKOS 사용현황
• 사용중인 클러스터 : 700개
• 전체 노드 수 : 8000대
• 전체 컨테이너 개수 : 16000개
• 최대 클러스터 : 1600대
• 최대 TPS(http, https) : x0000
DKOS 운영사례 : 노드 장애 극복
Container a
Container b
Container c
Container d
• 원인
• VM 커널패닉
• 하이퍼바이저 장애 : disk, power, ….
• 네트워크 장애
Container a
Container b
Node 1
Node 2
Node 3
DKOS 운영사례 : IDC간 네트워크 장애
IDC A IDC B
Master
Master
Master
Worker Worker
Worker
Worker
Worker
• 장애 도중에는 문제없이 운영
DKOS 운영사례 : IDC간 네트워크 장애
IDC A IDC B
Master
Master
Master
Worker Worker
Worker
Shutdown
Worker
Shutdown
Worker
Shutdonw
• 장애 복구 후 Worker 노드들 Shutdown
DKOS 운영사례 : IDC간 네트워크 장애
IDC A IDC B
Master
Master
Master
Worker Worker
Worker
Shutdown
Worker
Shutdown
Worker
Shutdonw
• Master에서 복구된 worker들도 shutdown 명령
• Worker가 down됨.
• Systemd의 Restart Policy가 OnFailure
Shutdown
Shutdown
Shutdown
DKOS 운영사례 : 다음 뉴스 기존 시스템을 컨테이너로 이전
• 가벼운 서비스부터 시작
• 개발자들의 의지 & 리더의 지원
• 새로운 시스템에 대한 학습 필요 : 성능, 안정성, 편의성 등에 대한
고민
• 레거시 분석 : 히스토리를 모르는 경우
• 컨테이너 오케스트레이터의 부족한 부분 : Jenkins를 통한 배포
DKOS 운영사례 : 컨테이너 성능 https 처리
• 요구사항 : 10,000 ~ 100,000 TPS
DKOS Worker
DKOS Worker
DKOS Worker
DKOS LoadBalancer
DKOS LoadBalancer
물리장비 LoadBalancer
SSL Offloading ?
DKOS 운영사례 : 컨테이너 성능 https 처리
• 비용절감
DKOS Worker
DKOS Worker
DKOS Worker
DKOS LoadBalancer
DKOS LoadBalancer
물리장비 LoadBalancer
SSL Offloading
L3DSR(Direct Server Return)
DKOS 운영사례 : 컨테이너 성능 2017년 11월 15일 포항지진
DKOS 운영사례 : 컨테이너 성능 2017년 11월 15일 포항지진
• 순간 트래픽 5배 급증
DKOS 운영사례 : 탄력적인 자원 사용 2017 신입 개발자 공채
DKOS 운영사례 : 카카오 번역 서비스 오픈
• AI 연구자들로 이루어진 조직
• 오픈 일정 단축
• 고민 : 응답속도/처리량/배포자동화/장애대응
DKOS 운영 사례 : 오토스케일링
DKOS 운영 사례 : 카카오 T 오토스케일링
What is Cloud Native
• Containerized
• Each part (applications, processes, etc) is packaged in its own container.
This facilitates reproducibility, transparency, and resource isolation.
• Dynamically orchestrated
• Containers are actively scheduled and managed to optimize resource
utilization.
• Microservices oriented
• Applications are segmented into microservices. This significantly increases
the overall agility and maintainability of applications.
Cloud Native 앱 : log 를 로컬 디스크에 기록했을 경우
• 컨테이너 종료시 로그 유실
• 로그 크기가 커졌을때 Disk Full
Cloud Native 앱 : log 를 stdout으로 보낸 경우
• 오케스트레이터에서 자동으로 logrotate 실행
• 외부 로그 수집시스템과의 연계 : ELK Stack 등
Cloud Native 앱 : 전통적인 배포
Worker
Old App
Old App
Worker
• 일반 구성 : 배포 전
물리 LB
Cloud Native 앱 : 전통적인 배포
Worker
Old App
Old App
Worker
• 일반 구성 : 배포 중
물리 LB
New App
New App
Cloud Native 앱 : 전통적인 배포
Worker
Old App
Old App
Worker
• 일반 구성 : 배포 후
물리 LB
New App
New App
종료
종료
Cloud Native 앱 : 무중단 배포를 위한 SIGTERM 처리
DKOS LB
DKOS Worker
container
container
Worker
• 배포 전
Cloud Native 앱 : 앱 배포시 lb 동작
DKOS LB
DKOS Worker
container
container
container
Worker
container
• 배포중
• orchestrator
- 신규 컨테이너 생성
- Healthcheck 시작
• DKOS LB(Haproxy, Nginx)
Cloud Native 앱 : 앱 배포시 lb 동작
DKOS LB
DKOS Worker
container
container
container
Worker
container
• 배포중
SIGTERM
SIGTERM
• orchestrator
- 신규 컨테이너 healthcheck
성공
- 기존 컨테이너에 SIGTERM
• DKOS LB(Haproxy, Nginx)
- backend 에 신규 컨테이너
등록
- backend에서 기존 컨테이
너 disabled
Cloud Native 앱 : 앱 배포시 lb 동작
DKOS LB
DKOS Worker
container
container
container
Worker
container
SIGKILL
SIGKILL
• 배포중
• orchestrator
- 지정된 시간 후에도 기존
컨테이너가 죽지않고 살아 있
을때 SIGKILL로 종료
• DKOS LB(Haproxy , Nginx)
- 기존 컨테이너를 backend
에서 제외
Cloud Native 앱 : 앱 배포시 lb 동작
DKOS LB
DKOS Worker
container
Worker
container
• 배포 후
Cloud Native Devops를 위해 필요한 것들
• 컨테이너 오케스트레이터만으로는 부족
• Application의 Cloud Native로의 변화
• 개발자들의 적극적인 참여
Q&A
감사합니다

Weitere ähnliche Inhalte

Was ist angesagt?

대용량 로그분석 Bigquery로 간단히 사용하기
대용량 로그분석 Bigquery로 간단히 사용하기대용량 로그분석 Bigquery로 간단히 사용하기
대용량 로그분석 Bigquery로 간단히 사용하기
Jaikwang Lee
 

Was ist angesagt? (20)

[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
 
AWS Finance Symposium_국내 메이저 증권사의 클라우드 글로벌 로드밸런서 활용 사례 (gslb)
AWS Finance Symposium_국내 메이저 증권사의 클라우드 글로벌 로드밸런서 활용 사례 (gslb)AWS Finance Symposium_국내 메이저 증권사의 클라우드 글로벌 로드밸런서 활용 사례 (gslb)
AWS Finance Symposium_국내 메이저 증권사의 클라우드 글로벌 로드밸런서 활용 사례 (gslb)
 
サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方サンプルで学ぶCassandraアプリケーションの作り方
サンプルで学ぶCassandraアプリケーションの作り方
 
ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례
 
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
 
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
 
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
 
[GKE & Spanner 勉強会] GKE 入門
[GKE & Spanner 勉強会] GKE 入門[GKE & Spanner 勉強会] GKE 入門
[GKE & Spanner 勉強会] GKE 入門
 
대용량 로그분석 Bigquery로 간단히 사용하기
대용량 로그분석 Bigquery로 간단히 사용하기대용량 로그분석 Bigquery로 간단히 사용하기
대용량 로그분석 Bigquery로 간단히 사용하기
 
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
 
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
 
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
 
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
 
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
 
[2018] 고객 사례를 통해 본 클라우드 전환 전략
[2018] 고객 사례를 통해 본 클라우드 전환 전략[2018] 고객 사례를 통해 본 클라우드 전환 전략
[2018] 고객 사례를 통해 본 클라우드 전환 전략
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
 
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
 
카오스 엔지니어링을 활용한 마이크로서비스 안정성 개선하기 - 정준우, AWS 솔루션즈 아키텍트:: AWS Summit Online Kor...
카오스 엔지니어링을 활용한 마이크로서비스 안정성 개선하기 - 정준우, AWS 솔루션즈 아키텍트::  AWS Summit Online Kor...카오스 엔지니어링을 활용한 마이크로서비스 안정성 개선하기 - 정준우, AWS 솔루션즈 아키텍트::  AWS Summit Online Kor...
카오스 엔지니어링을 활용한 마이크로서비스 안정성 개선하기 - 정준우, AWS 솔루션즈 아키텍트:: AWS Summit Online Kor...
 

Ähnlich wie Krnet2018 kakao container cloud dkos

Ähnlich wie Krnet2018 kakao container cloud dkos (20)

Open infradays 2019_msa_k8s
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8s
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
[TeamStudy-022] Docker
[TeamStudy-022] Docker[TeamStudy-022] Docker
[TeamStudy-022] Docker
 
Docker osc 0508
Docker osc 0508Docker osc 0508
Docker osc 0508
 
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
Docker + Kubernetes를 이용한 빌드 서버 가상화 사례
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
 
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
 
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
 
1. Docker Network (1)
1. Docker Network (1)1. Docker Network (1)
1. Docker Network (1)
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
 
[OpenInfra Days Korea 2018] (Track 2) 오픈스택 기반 온프레미스 및 멀티클라우드 연동 사례: IXcloud KDX
[OpenInfra Days Korea 2018] (Track 2) 오픈스택 기반 온프레미스 및 멀티클라우드 연동 사례: IXcloud KDX[OpenInfra Days Korea 2018] (Track 2) 오픈스택 기반 온프레미스 및 멀티클라우드 연동 사례: IXcloud KDX
[OpenInfra Days Korea 2018] (Track 2) 오픈스택 기반 온프레미스 및 멀티클라우드 연동 사례: IXcloud KDX
 
[221] docker orchestration
[221] docker orchestration[221] docker orchestration
[221] docker orchestration
 
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
 
Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1
 
Cloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_serviceCloud Native Days Korea 2019 - kakao's k8s_as_a_service
Cloud Native Days Korea 2019 - kakao's k8s_as_a_service
 
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
 
Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)
 

Krnet2018 kakao container cloud dkos

  • 1. Kakao Container Cloud, DKOS 정원천 (hardy.jung) 카카오 클라우드디플로이셀 hardy.jung@kakaocorp.com
  • 2. DKOS 란? • Kakao Container Cloud for mesos, kubernetes • Integration with Kakao Infra • Custom Feature
  • 3. DKOS 를 사용중인 서비스들
  • 4. DKOS 사용현황 • 사용중인 클러스터 : 700개 • 전체 노드 수 : 8000대 • 전체 컨테이너 개수 : 16000개 • 최대 클러스터 : 1600대 • 최대 TPS(http, https) : x0000
  • 5. DKOS 운영사례 : 노드 장애 극복 Container a Container b Container c Container d • 원인 • VM 커널패닉 • 하이퍼바이저 장애 : disk, power, …. • 네트워크 장애 Container a Container b Node 1 Node 2 Node 3
  • 6. DKOS 운영사례 : IDC간 네트워크 장애 IDC A IDC B Master Master Master Worker Worker Worker Worker Worker • 장애 도중에는 문제없이 운영
  • 7. DKOS 운영사례 : IDC간 네트워크 장애 IDC A IDC B Master Master Master Worker Worker Worker Shutdown Worker Shutdown Worker Shutdonw • 장애 복구 후 Worker 노드들 Shutdown
  • 8. DKOS 운영사례 : IDC간 네트워크 장애 IDC A IDC B Master Master Master Worker Worker Worker Shutdown Worker Shutdown Worker Shutdonw • Master에서 복구된 worker들도 shutdown 명령 • Worker가 down됨. • Systemd의 Restart Policy가 OnFailure Shutdown Shutdown Shutdown
  • 9. DKOS 운영사례 : 다음 뉴스 기존 시스템을 컨테이너로 이전 • 가벼운 서비스부터 시작 • 개발자들의 의지 & 리더의 지원 • 새로운 시스템에 대한 학습 필요 : 성능, 안정성, 편의성 등에 대한 고민 • 레거시 분석 : 히스토리를 모르는 경우 • 컨테이너 오케스트레이터의 부족한 부분 : Jenkins를 통한 배포
  • 10. DKOS 운영사례 : 컨테이너 성능 https 처리 • 요구사항 : 10,000 ~ 100,000 TPS DKOS Worker DKOS Worker DKOS Worker DKOS LoadBalancer DKOS LoadBalancer 물리장비 LoadBalancer SSL Offloading ?
  • 11. DKOS 운영사례 : 컨테이너 성능 https 처리 • 비용절감 DKOS Worker DKOS Worker DKOS Worker DKOS LoadBalancer DKOS LoadBalancer 물리장비 LoadBalancer SSL Offloading L3DSR(Direct Server Return)
  • 12. DKOS 운영사례 : 컨테이너 성능 2017년 11월 15일 포항지진
  • 13. DKOS 운영사례 : 컨테이너 성능 2017년 11월 15일 포항지진 • 순간 트래픽 5배 급증
  • 14. DKOS 운영사례 : 탄력적인 자원 사용 2017 신입 개발자 공채
  • 15. DKOS 운영사례 : 카카오 번역 서비스 오픈 • AI 연구자들로 이루어진 조직 • 오픈 일정 단축 • 고민 : 응답속도/처리량/배포자동화/장애대응
  • 16. DKOS 운영 사례 : 오토스케일링
  • 17. DKOS 운영 사례 : 카카오 T 오토스케일링
  • 18. What is Cloud Native • Containerized • Each part (applications, processes, etc) is packaged in its own container. This facilitates reproducibility, transparency, and resource isolation. • Dynamically orchestrated • Containers are actively scheduled and managed to optimize resource utilization. • Microservices oriented • Applications are segmented into microservices. This significantly increases the overall agility and maintainability of applications.
  • 19. Cloud Native 앱 : log 를 로컬 디스크에 기록했을 경우 • 컨테이너 종료시 로그 유실 • 로그 크기가 커졌을때 Disk Full
  • 20. Cloud Native 앱 : log 를 stdout으로 보낸 경우 • 오케스트레이터에서 자동으로 logrotate 실행 • 외부 로그 수집시스템과의 연계 : ELK Stack 등
  • 21. Cloud Native 앱 : 전통적인 배포 Worker Old App Old App Worker • 일반 구성 : 배포 전 물리 LB
  • 22. Cloud Native 앱 : 전통적인 배포 Worker Old App Old App Worker • 일반 구성 : 배포 중 물리 LB New App New App
  • 23. Cloud Native 앱 : 전통적인 배포 Worker Old App Old App Worker • 일반 구성 : 배포 후 물리 LB New App New App 종료 종료
  • 24. Cloud Native 앱 : 무중단 배포를 위한 SIGTERM 처리 DKOS LB DKOS Worker container container Worker • 배포 전
  • 25. Cloud Native 앱 : 앱 배포시 lb 동작 DKOS LB DKOS Worker container container container Worker container • 배포중 • orchestrator - 신규 컨테이너 생성 - Healthcheck 시작 • DKOS LB(Haproxy, Nginx)
  • 26. Cloud Native 앱 : 앱 배포시 lb 동작 DKOS LB DKOS Worker container container container Worker container • 배포중 SIGTERM SIGTERM • orchestrator - 신규 컨테이너 healthcheck 성공 - 기존 컨테이너에 SIGTERM • DKOS LB(Haproxy, Nginx) - backend 에 신규 컨테이너 등록 - backend에서 기존 컨테이 너 disabled
  • 27. Cloud Native 앱 : 앱 배포시 lb 동작 DKOS LB DKOS Worker container container container Worker container SIGKILL SIGKILL • 배포중 • orchestrator - 지정된 시간 후에도 기존 컨테이너가 죽지않고 살아 있 을때 SIGKILL로 종료 • DKOS LB(Haproxy , Nginx) - 기존 컨테이너를 backend 에서 제외
  • 28. Cloud Native 앱 : 앱 배포시 lb 동작 DKOS LB DKOS Worker container Worker container • 배포 후
  • 29. Cloud Native Devops를 위해 필요한 것들 • 컨테이너 오케스트레이터만으로는 부족 • Application의 Cloud Native로의 변화 • 개발자들의 적극적인 참여
  • 30. Q&A