O CB-Ladybug 개발 현황
- CB-Ladybug 개요 및 기본 기능
- CB-Ladybug 개발 전략
- CB-Ladybug 제공 서비스
- CB-Ladybug 기본 구조 및 개발 로드맵
- CB-Ladybug 활용 서비스 시나리오 및 기술 시연
O 멀티클라우드 쿠버네티스 서비스(MCKS) 개발 현황
- 멀티클라우드 쿠버네티스 서비스(MCKS) 개요
- MCKS 특징 및 차별성
- MCKS 주요 기술 이슈
- MCKS 주요 기술 개발 현황
# 발표영상(YouTube) : https://youtu.be/eNVKwchkkPk
----------------------------------------------------------------------------------------------------------
# Cloud-Barista Community Homepage : https://cloud-barista.github.io
# Cloud-Barista Community GitHub : https://github.com/cloud-barista
# Cloud-Barista YouTube channel : https://cloud-barista.github.io/youtube
# Cloud-Barista SlideShare : https://cloud-barista.github.io/slideshare
Similar to Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integrated Operation and Management of Multi-Cloud Application Services)
Similar to Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integrated Operation and Management of Multi-Cloud Application Services) (20)
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Bridge - Cloud-Barista 운용 관리(Cloud-Barista Ope...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Ladybug - 멀티클라우드 애플리케이션 서비스 통합 운용 및 관리 (Integrated Operation and Management of Multi-Cloud Application Services)
1. [세션4] CB-Ladybug :
카페모카(Café Mocha) 한잔 어떠세요 ?
멀티클라우드, 글로벌 스케일로 시작하다
CLOUD
BARISTA 클라우드바리스타 커뮤니티 제4차 컨퍼런스
김 수 영 CB-Ladybug 프레임워크 리더
김 경 은 Cloud-Barista 커뮤니티 멤버
멀티클라우드 애플리케이션 서비스 통합 운용 및 관리
2. 멀티클라우드 서비스 개방형 인터페이스
멀티클라우드 인프라 연동
프레임워크
멀티클라우드 애플리케이션
통합관리 프레임워크
멀티클라우드 인프라 서비스
통합 관리 프레임워크
멀티클라우드
통합
모니터링
프레임워크
멀티클라우드 서비스 공통 플랫폼
이번세션은…
응용/도메인/기관 특화 SW
CLOUD
BARISTA
CB-Ladybug
1
3. 목 차
CB-Ladybug 개요 및 기본 기능
I
CB-Ladybug 개발 전략
II
CB-Ladybug 제공 서비스
III
CB-Ladybug 기본 구조 및 개발 로드맵
IV
2
CB-Ladybug 개발 현황
1
멀티클라우드 쿠버네티스 서비스(MCKS) 개발 현황
2
CB-Ladybug 활용 서비스 시나리오 및 기술 시연
V
4. 멀티클라우드애플리케이션의배포와관리는?
이종 멀티클라우드 연동
멀티클라우드 자원
통합 컴퓨팅 인프라
멀티클라우드 인프라 서비스 (MCIS)
확보한 멀티클라우드 인프라에 글로벌 서비스를 위한 애플리케이션을 보다 쉽고 빠르게 배포하고 운영/관리할 방법이 필요
컴퓨팅
자원
컴퓨팅
자원
컴퓨팅
자원
VM VM VM VM
VM VM VM VM
App
개발자
3
5. <CB-Ladybug 개념도>
Azure
국내 퍼블릭 클라우드
MC-App의 생성 및 배치
MC 인프라 자원
AWS
GCP
MC-App의 라이프사이클 및 클라우드 간 연계 관리
요청사항 기반 최적 자원
요청사항 기반의
MC-App의 생성
App + 실행환경
MC-App
서비스
상태관리
MC-App 관리
(e.g. 라이프사이클,
확장,추가,이동 등)
구동중인 MC-App의
제어 및 관리
배치
자원
App
MC-App
명세
잘~
만들어
주세요
App
App
App
자원
App
App
App
App : MC-App의 구성 컴포넌트SW
자원
App
자원
App
자원
App 자원
App
자원
App
복합
MC-App
단독
MC-App
CB-Ladybug개요
• 멀티클라우드 애플리케이션 운용 및 통합 관리 프레임워크(CB-Ladybug)
• 멀티클라우드 인프라 상에서 운용되는, 멀티클라우드 애플리케이션(MC-App)의 생성, 배포, 실행 및 라이프사이클 제
어와 클라우드 간 연계 관리 기능을 제공하는 프레임워크
4
6. 멀티클라우드애플리케이션
• 멀티클라우드 (네이티브) 애플리케이션 (Multi-Cloud (Native) Application, MC-App)
• 클라우드 네이티브 방식을 기반으로, 멀티클라우드 인프라에서의 운용을 위해 생성, 배포, 실행되는 애플리케이션
• 전세계 다양한 클라우드를 통합 활용할 때, 보다 효과적인 클라우드 네이티브 애플리케이션
• 글로벌 스케일의 동적 오케스트레이션을 활용 → 높은 근접성과 자원 최적화를 이루어 성능 향상 및 비용 감소 달성
• 클라우드 네이티브 (Cloud Native) 방식
• 클라우드 컴퓨팅 모델을 활용해서 서비스의 중지 없이 쉽고 빠르게 배포하고, 피드백을 받아 즉각적으로 수정/반영할
수 있는 초고속 선순환 서비스 구조를 만드는 애플리케이션 개발/실행/운영 방식
<클라우드 네이티브 방식>
Non Cloud-Native App
Cloud-Native App
Multi-Cloud (Native) App, MC-App
Cloud-Native App을 멀티클라우드 상에 배
치할 수 있으나, 멀티클라우드의 장점을 얻을
수 없는 App
클라우드 네이티브 (Cloud Native)
데브옵스
마이크로
서비스
컨테이너
지속적
배포
<멀티클라우드 (네이티브) 애플리케이션의 범주>
5
7. CB-Ladybug기본기능
단위 App 준비/개발
(1) MC-App 패키지 개발/관리
(구성, 배치/실행 요청사항, 품질 정책 등)
(2) MC-App 실행 요청
<사용자 시나리오>
Cloud Cloud …
… Cloud
Cloud
Cloud Cloud
<CB-Spider>
<CB-Ladybug>
<사용자>
<CB-Tumblebug>
단위 App 이미지 생성/등록
(3) (4) MC-App 운영관리
MC-App 모니터링
(실행환경, MC-App 자체)
MC-App 자동 관리 설정 제어
MC-App 라이프사이클 제어
(5) MC-App 종료 및 자원 반환
<CB-Ladybug 기본 기능>
MCIS (group of VMs)
단위 App 저장소
App
MC-App 패키지 개발
<MC-App 패키지>
App
App
LB
App
App App App
다른
MC-App
패키지
MC-App
실행 요청
(2)
MC-App
제어 요청
(3)
MC-App
모니터링
(4)
MC-App
종료
(5)
MC-App 실행 / 운영 관리
컴퓨팅 인프라 구성
애플리케이션 실행환경
클러스터 구성
VM
…
VM VM
VM
MC-App
운영 관리
클라우드간
연계 관리
MC-App
실행 제어
제어 노드
모니터링
이력관리
App
App
LB
App
App App App
다른
MC-App
패키지
작업 노드 작업 노드
※VM: Virtual Machine
…
App App
App
App App
<MC-App 구성 및 요청사항>
(1) ~~~
~~~
~~~
VM VM
…
VM VM
VM VM
MC-App 패키지 관리
MC-App 설치
MC-App 삭제
MC-App 업그레이드
MC-App 의존 패키지
배치/실행 요청 사항
품질 정책
6
8. CB-Ladybug개발전략
• 1단계: 멀티클라우드 환경에 적합한 애플리케이션 실행환경 제공 기술 개발
• 애플리케이션 실행환경(쿠버네티스, 아파치 메소스, 도커 스웜 등) 중 쿠버네티스를 대상으로
멀티클라우드 인프라 상에서 운용 가능성/적합성 확인 및 검증
• 2단계: 멀티클라우드 환경에 최적화된 애플리케이션 운용 및 통합 관리 기술 개발
• 멀티클라우드 환경을 고려한 애플리케이션 실행 요청 사항의 도출 및 적용
• 클라우드 인지 애플리케이션 배치 알고리즘 등 개발
<CB-Ladybug>
MC-App 실행 / 운영 관리 기능
컴퓨팅 인프라 구성
애플리케이션 실행환경
클러스터 구성
VM
…
VM VM
VM
MC-App
운영 관리
클라우드간
연계 관리
MC-App
실행 제어
제어 노드
모니터링
이력관리
App
App
LB
App
App App App
다른
MC-App
패키지
작업 노드 작업 노드
…
VM VM
…
VM VM
VM VM
MC-App 패키지 관리
MC-App 설치
MC-App 삭제
MC-App 업그레이드
MC-App 의존 패키지
배치/실행 요청 사항
품질 정책
1단계
2단계
7
9. 멀티클라우드 애플리케이션 서비스 (MCAS)
CB-Ladybug단계별제공서비스
MCIR
MCIR-1
MCIR
MCIS-1
NS-1
MCIR
K8s-1
MC-App
MC-App
MCIR
MCIR-1
MCIR
MCIS-1
NS-1
MCIR
MCAR-1
MCIR
MCIR-n
MCIR
MCIS-n
MCIR
MCAR-n
(2) Submit
MC-App
MC-App
(1) Submit
자원 VM
MC-App
MC-App
MC-App
MC-App MC-App
• 기술/노하우
• 구성 및 실행
정보 학습
<K8s: 오토스케일링 등>
(1) Create
사용자
관리 영역
사용자
관리 영역
※ MCKS: Multi-Cloud Kubernetes Service
※ MCAS: Multi-Cloud Application Service
※ MCAR: Multi-Cloud Application Runtime
• 1단계: 사용자 관리형 멀티클라우드 쿠버네티스 서비스(MCKS) 제공
• 2단계: 멀티클라우드에 최적화된 애플리케이션 운용 및 통합 관리 서비스(MCAS) 제공
<MCAR Pool: 오토스케일링 등>
멀티클라우드 쿠버네티스 서비스 (MCKS)
• 멀티클라우드 대상 사용자 관리형 쿠버네티스
클러스터 제공
• 개발 기간: 2020.1. ~ 2021.6.
• 멀티클라우드 애플리케이션에 적합한 최적 실행환경
(MCAR) 동적 제공
• 멀티클라우드 애플리케이션 통합 운영 관리 제공
• 개발 기간: 2021.7. ~ 2022.12.
※ NS: NameSpace
※ MCIR: Multi-Cloud Infra Resource
※ MCIS: Multi-Cloud Infra Service
[개발 상세 현황은 연 이은 발표에서]
8
10. 1단계:멀티클라우드쿠버네티스서비스(MCKS)
CB-Tumblebug
CB-Spider
Cloud-1 Cloud-2 …
… Cloud-n
<멀티클라우드 쿠버네티스 서비스 개념도>
CB-Ladybug
• 멀티클라우드 환경에서 실행되는 사용자 관리형 쿠버네티스 클러스터 제공
• 사용자가 직접 멀티클라우드 쿠버네티스 클러스터를 접근하여 활용
• 사용자가 직접 멀티클라우드 애플리케이션 실행 및 관리 담당
App
App App
App
App App
App
App App
App
App App
VM VM
애플리케이션
실행환경(쿠버네티스)
VM VM
애플리케이션
실행환경(쿠버네티스)
VM VM
애플리케이션
실행환경(쿠버네티스)
VM VM
애플리케이션
실행환경(쿠버네티스)
9
※ MCKS: Multi-Cloud Kubernetes Service
11. 2단계:멀티클라우드애플리케이션서비스(MCAS)
CB-Tumblebug
CB-Spider
Cloud-1 Cloud-2 …
… Cloud-n
<멀티클라우드 애플리케이션 서비스 개념도>
CB-Ladybug
• 멀티클라우드 애플리케이션 서비스 제공
• 애플리케이션 실행 요청사항에 적합하도록 멀티클라우드 환경에서의 최적 애플리케이션 실행환경 자동 구성 및 운영
• 멀티클라우드 애플리케이션 실행환경(MCAR)의 플러그인 방식 지원
※ MCAS: Multi-Cloud Application Service
※ MCAR: Multi-Cloud Application Runtime
멀티클라우드 애플리케이션(MC-App) 배치/운영 관리
App
App App
~~~
~~~
~~~
App
App App
~~~
~~~
~~~
App
App App
~~~
~~~
~~~
App
App App
~~~
~~~
~~~
VM VM
애플리케이션 실행환경
(쿠버네티스, 메소스 등)
VM VM
애플리케이션 실행환경
(쿠버네티스, 메소스 등)
VM VM
애플리케이션 실행환경
(쿠버네티스, 메소스 등)
VM VM
애플리케이션 실행환경
(쿠버네티스, 메소스 등)
10
12. 멀티클라우드 애플리케이션 서비스(MCAS) 관리
CB-Ladybug기본구조 MCAR: Multi-Cloud Application Runtime
MC-App: Multi-Cloud Application
MCKS: Multi-Cloud Kubernetes Service
VM: Virtual Machine
멀티클라우드 애플리케이션 실행환경(MCAR) 제어
<사용자/타프레임워크>
저장소
(단위 App, 패키지)
CB-Dragonfly
CB-Tumblebug
멀티클라우드 애플리케이션(MC-App) 분석 및 제어
MC-App 라이프사이클 제어
MC-App/MCAR
운영/관리 정보 등
<Key-Value DB>
MCAR 라이프사이클 제어
MCIS 라이프사이클 제어
정보
저장/제공
MCAR 생성/제어
MC-App
품질 자동 제어
품질 제어 정책
오토스케일링,동적 재배치
MCAR 프로비저닝/삭제
MC-App 프로비저닝
MC-App
상태 정보
MC-App 삭제
패키지, 단위 App이미지
사용자 인터페이스(API, CLI)
REST Client Lib. CLI
API 호출
결과 제공
API 호출
결과 제공
REST API 런타임 서버 Go API 런타임 서버
Go Client Lib.
MCKS 생성/사용/제어 MC-App 패키지 실행
MC-App 실행/제어
VM VM VM
MCIS
MC-App
모니터링 데이터
MCAR, MC-App 정보
MCAR App
App App
MCIS 생성/제어
클라우드 인지 스케줄러*
현재 개발 범위
신규 설계 범위
향후 설계 범위
MC-App 모니터링
MCAR 프로비저닝, 제어
MC-App 패키지
MC-App 명세 분석
MCAR 객체 정보
의존 패키지 정보
실행 요청사항 MC-App 배치/스케일링
MC-App 프로비저닝, 제어
(*) 클라우드 인지 스케줄러: 클러스터에 포함된 노드들의 위치나 역량, 자원 현황, 서비스 클라이언트들의 상태 등에 따라 MC-App의 단위 App들을 적절한 위치에 배치 수행
: 쿠버네티스 패키지 관리도구(Helm) 활용하여 제공 예정 기능
멀티클라우드 쿠버네티스 서비스(MCKS) 관리
클라우드간 연계 처리
(로드밸런싱,
공유데이터 등)
쿠버네티스 클러스터 생성/제어
MCAS 객체 관리
MCAR 객체 관리/제어
클라우드간 연계 관리
품질 관리
MC-App 생성/제어
MCKS 객체 관리 MCAR 객체 관리/제어
MCAR 모니터링
MCAR 배치/스케일링
MCAS: Multi-Cloud Application Service
MC-App 객체 관리/제어 MC-App/MCAR 맵핑 관리
MCAR 생성/제어,
연계 제어
11
13. 카푸치노
‘2020. 6
• 개념 및 기능 정의
• 공인IP 기반 쿠버네티스
프로비저닝 PoC
• 네트워크 플러그인 검토
PoC
• 데이터 통신, 성능 검증
PoC
에스프레소
‘2020. 11
• MCKS 요구사항 분석 및
정의
• MCKS 규격 정의
• 단일 클라우드 대상
MCKS 프로토타입 개발
및 시험
• AWS, GCP 지원
카페모카
‘2021. 6
• 멀티클라우드 모델 확장
• 컨트롤 플레인 HA 구성
• 멀티클라우드 네트워크
플러그인 지원
• Azure 지원
• MCAS 설계
아포가토
‘2021. 11
• 국내.외 클라우드 지원
확대
• 컨트롤 플레인 HA 구성
고도화
• MCKS 기능 고도화
• MC-App 프로비저닝/라
이프사이클 제어 기능 개발
12
CB-Ladybug개발로드맵
14. 글로벌 스케일 전자상거래 서비스 시나리오
컨트롤플레인
Shipping Queue Manager
중앙관리 서비스는 본사 데이터센터에 배치하고, 지역에 특화된 데이터베이스와 마이크로서비스는 각 지역 클라우드 리전에 배치
이때, 서비스 이중화를 통해 가용성 확보, 지역 리전 서비스와 중앙 데이터센터 간 발생 데이터 연동
13
15. [시연]
글로벌 서비스 런칭을 위한 시험 인프라 제공 서비스
카페모카(Café Mocha) 한잔 어떠세요 ?
CLOUD
BARISTA
멀티클라우드 서비스 공통 플랫폼
16. 글로벌서비스런칭을위한시험인프라제공서비스(1/2)
• 서비스 개요
• 글로벌 서비스의 런칭을 위한 다양한 워크로드 및 사용자 입장의 서비스 사용 성능에 관한 사전 분석 필수
• 실험실 수준의 시험 환경을 넘어 실제 글로벌 인프라 환경에서의 시험 인프라 서비스 제공
• 저렴한 클라우드 서비스 활용을 통한 저비용의 글로벌 시험 인프라 환경 제공
• 컨테이너 기반으로 개발된 응용 서비스를 손쉽게 배포/운영/관리할 수 있는 쿠버네티스의 사용자들을 위한
멀티 클라우드 환경에서의 동일 사용자 경험 제공
• 효과
• 전세계 각 지역의 사용자들이 체감할 수 있는
서비스 성능 등을 미리 파악하여 서비스의 사전 보완이
가능하며, 다양한 워크로드 시험을 통하여 요구되는
시스템 자원 수요에 대한 대응 전략의 수립을 지원
<글로벌 서비스 시험 인프라 제공 서비스 개요>
모니터링/제어 UI
서버/시험 결과
시험도구
시험대상서버
15
17. 글로벌서비스런칭을위한시험인프라제공서비스(2/2)
• 시연 시나리오
W W
W W W
C W
W
W W
W W W
W W
W W W
…
MCKS
모니터링/제어 UI
1
2
3
3
3
3
3
3 4
가상 사용자
시험 대상 서버
C 제어 노드
W 작업 노드
클라우드
1 시험 인프라 생성
2 시험 대상 서버(웹서버) 배치
3 시험 도구(HTTP 벤치마크) 배치
4 시험 수행 및 결과 분석
16
18. MCKS :
멀티클라우드 쿠버네티스 서비스
카페모카(Café Mocha) 한잔 어떠세요 ?
멀티클라우드, “글로벌 스케일로 시작하다”
CLOUD
BARISTA
클라우드바리스타 커뮤니티 제4차 컨퍼런스
김 경 은 / Cloud-Barista 커뮤니티 멤버
19. 목 차
18
멀티클라우드 쿠버네티스 서비스(MCKS) 개요
I
MCKS 특징 및 차별성
II
MCKS 주요 기술 이슈
III
MCKS 주요 기술 개발 현황
IV
20. 멀티클라우드 쿠버네티스 서비스(MCKS) 개요
• 멀티클라우드 기반 쿠버네티스 by MCKS
• 사용자가 온디맨드로 멀티클라우드를 대상으로
쿠버네티스 클러스터를 프로비져닝
• 사용자가 온디맨드 방식으로 프로비저닝한
쿠버네티스 클러스터를 직접 조회하고 관리
• 쿠버네티스 생태계를 그대로 활용
< 쿠버네티스 컴포넌트 >
• 쿠버네티스 (Kubernetes)
• 컨테이너화 된 애플리케이션의 배포, 스케일링, 관리를
자동화 해주는 컨테이너 오케스트레이션 엔진
• 어플리케이션을 실행하는 한 개 이상의 워커 노드 존재
• 컨트롤플레인은 워커 노드와 파드 관리를 통해
내결함성과 고가용성을 보장하는 역할 수행
connection info.
create MCIS
boostrap
init
W W
w w W
C C
C
worker join & network cni
MCKS
< MCKS 클러스터 생성 프로세스>
C W
컨트롤플레인 워커 노드
C C
C
MCIS
1
2
3
4
5
출처 : https://kubernetes.io/ko/docs/concepts/overview/components/
19
21. MCKS 필요성
멀티클라우드 환경에서 쿠버네티스 운영을 위해서는 수 많은 클라우드 네이티브 서비스 관리해야 하기 때문에
여러 클러스터에 걸쳐 자원을 배치하고 동기화하는 역량이 중요하며 이를 통합 관리할 수 있는 플랫폼이 필요
사용자가 쉽고 간편하게 온디맨드 방식으로
멀티클라우드 기반 쿠버네티스 클러스터를
생성하고, 확장하고, 통합관리
?
MCKS
멀티클라우드의 자원 배치와 동기화
수 많은 클라우드 네이티브 서비스 관리
서비스 디스커버리와 고가용성
벤더별 고유 속성과 복잡성 제거
멀티클라우드 쿠버네티스 요구사항
손쉬운 멀티클라우드 쿠버네티스 구축
클라우드 벤더 락인 탈피
글로벌 스케일 사용자 서비스 배치 및 운용
멀티클라우드 기반 고가용성 제공
멀티클라우드 자원 통합 운용/관리
클라우드 벤더와 지역 한계 없는 글로벌 스케일 확장성 제공
MCKS 기대효과
with
20
22. • MCKS는 멀티클라우드 - 단일 쿠버네티스 설치형 서비스
• 개별 쿠버네티스 서비스(KaaS) : 컨트롤플레인과 워커 노드들이 벤더별로 독립 구성되어, 통합관리를 위해서는
별도의 솔루션/서비스 필요
• 멀티클라우드 쿠버네티스 서비스(MCKS) : 하나의 컨트롤플레인이 서로 다른 클라우드의 다수 워커 노드들을
리전별로 통합 관리
• Federation 멀티 클러스터 : 구성 클러스터들의 컨트롤플레인 역할을 하는 호스트 클러스터가 멤버 클러스터들을
통합 관리
MCKS 특징 및 차별성 (1/2)
< 개별 클라우드 멀티클라우드 >
Host cluster
Member clusters
< MCKS > < Federation 멀티 클러스터>
...
21
❉ KaaS : Kuberntes as a Service (예: EKS, GKE, AKS)
23. • 다양한 클러스터 커스터마이징 가능
• KaaS : 컨트롤플레인의 관리를 각 클라우드 벤더에서
수행하여 사용자의 다양한 요구사항 수용에 한계
• MCKS : 사용자에게 컨트롤플레인 커스트마이징과
다양한 선택 옵션 제공 가능
< KaaS와 MCKS 클러스터 관리 비교>
managed, customize,
configuration
managed
customization options
managed, customize,
configuration
none or few
customize,
optionals,
addon
managed,
customization options
customize,
optionals,
addon
KaaS (GKE, EKS, AKS) MCKS
구분
...
• 편리한 워크로드 간 연동 및 배치 스케줄링
• KaaS : 각 벤더별 독립적 실행으로 클라우드 간
워크로드 연동이 복잡
• MCKS : 클라우드, 리전 간 워크로드 연동이 쉽고
용이하며 높은 확장 가능성으로 MSA 환경에 적합
VPN
< 워크로드 간 연동 및 배치 스케줄링 >
파드 간 데이터 연동 멀티클라우드 상에 파드 배포
컨트롤 플레인
워커 노드
MCKS 특징 및 차별성 (2/2)
22
❉ MSA: Micro Service Architecture
24. MCKS 주요 기술 이슈
이종의 클라우드 간 서로 다른 네트워크의 VM 들을 어떻
게 하나의 쿠버네티스 클러스터로 프로비저닝 할것인가 ?
VM 간 연결은 공인IP 기반으로만 가능하다는 한계 확인
클라우드 벤더들은 기본적으로 유동IP 제공하고 있으며, 고정IP 서비스를
사용할 경우의 비용문제를 어떻게 극복할 것인가
IP가 동적으로 변경되었을 경우 이미 구성된 클러스터 노드들은 어떻게 대
응해야 할 것인가
멀티클라우드 – 단일 클러스터 환경에서 운영 가능한 네트
워크 플러그인은 ?
Flannel 정상 동작 확인
서로 다른 클라우드에 설치된 워크로드 간 통신 시 WAN 구간에 대한 통신
보안의 필요성
멀티클라우드 환경에 설치된 쿠버네티스 컨트롤 플레인의
가용성을 어떻게 보장할 것인가 ?
컨트롤 플레인의 엔드포인트는 공인IP 또는 공인 도메인
이슈 세부내용
컨트롤 플레인 노드들은 단일 클러스터 단일 리전 구성으로 제한
23
25. MCKS 주요 기술 개발 현황
• 멀티클라우드 운영 모델 고도화
• Espresso 버전: 단일클라우드 대상 모델 제공
• CaféMocha버전:멀티클라우드 대상 모델 확대 제공
• 서로 다른 네트워크 VM들을 하나의 쿠버네티스 클러스터로 프로비저닝 이슈 해결
• 동적 부여된 공인IP의 IP Alias 등록 및 kubelet node-ip 설정 기법 등 적용
• 멀티클라우드 환경에서 운영 가능한 네트워크 플러그인 제공
• Canal, Kilo 총 2종 네트워크 플러그인 적용 구현
• VPN(Wireguard) 기반 Kilo를 통해 서로 다른 클라우드의 워크로드 간 통신 보안 보장
• 네트워크정책적용이가능한Canal(Flannel +Calico)플러그인적용
• 컨트롤플레인 HA 구성을 통한 가용성 보장
• HA 구성 모델들에 대한 PoC 수행
• haproxy를 활용한 HA 구성 모델 적용
• 향후 CB-Larva협업및고도화예정
• 현재 AWS,GCP, Azure big-3 지원, 향후 대상 클라우드 확대 예정
24
26. • 3가지 운영 모델 개발
• 운영 모델
• 단일클라우드
• 단일클라우드 - 멀티 리전
• 멀티클라우드 모델
멀티클라우드 운영 모델 고도화
CSP1 Region1
C C W W
C W
CSP1 Region1
C C C
CSP1 Region2
W W
W W W
…
CSP1 Region1
C C W W
C W
CSP1 Region2
W W
W W W
…
CSP1 Region1
C C W W
C W
CSP2 Region1
W W
W W W
…
CSP3 Region1
W W
W W W
1
2
3
3
2
1
C W
컨트롤플레인 워커 노드
25
27. • Canal, Kilo 2종 플러그인 적용
• Kilo
• 암호화된 L3 네트워크를 제공
• 파드는 호출 대상 서비스의 노드가 다른 네트워크에 있거나
NAT 뒤에 있더라도 안전하게 액세스 가능
• VPN에 대한 공개 및 개인 키와 노드 간에 패킷을 라우팅하는데
필요한 규칙이 자동 설정되어 노드 간 네트워크 메시 생성
• Canal
• Flannel을 통해 공인 IP 기반으로 오버레이 구성
• Calico를 통해 네트워크 정책 제공
멀티클라우드 환경에서 운영 가능한 네트워크 플러그인 제공
< Kilo를 통한 노드간 네트워크 메시 구성 예 >
출처 : https://github.com/squat/kilo
26
28. • HA 구성 모델 PoC 를 통해 haproxy 를 활용한
구성 모델 적용
• 검토 모델
• external-lb + (kilo,canal)
• haproxy + (kilo, canal)
• haproxy + pure-wireguard
컨트롤플레인 HA 구성을 통한 가용성 보장
AWS (ap-northeast-1)
controlplane-2
controlplane-1
haproxy
etcd cluster
apiserver
controller-
manager
scheduler
etcd
apiserver
controller-
manager
scheduler
etcd
GCP
<asia-
northeast3>
worker-1
*:9998
*:6443
*:6443
…
worker-2
worker-3
…
AWS (ap-northeast-1)
controlplan-2
(10.4.0.2)
controlplan-1
(10.4.0.1)
haproxy
etcd cluster
apiserver
controller-manager
scheduler
etcd
apiserver
controller-manager
scheduler
etcd
GCP <asia-
north....>
worker-1
(10.4.10.1)
*:999
8
*:644
3
*:644
3
worker-2
(10.4.10.2)
VPN 10.4.0.0/16
… worker-2
(10.4.10.3)
1
2
3
3
Implementation
AWS (ap-northeast-1)
controlplane-2
controlplane-1
load balancer
etcd cluster
apiserver
controller-
manager
scheduler
etcd
apiserver
controller-
manager
scheduler
etcd
GCP
<asia-
northeast3>
external IP(DNS)
…
worker-1
worker-2
worker-3
…
…
1
2
27