Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 41 Anuncio

Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)

Descargar para leer sin conexión

[ CB-Tumblebug : 멀티클라우드 인프라 서비스 통합 관리 (Multi-Cloud Infrastructure Services Integration Management) ]

- CB-Tumblebug 기술 개요
- CB-Tumblebug 기능 및 구조 요약
- CB-Tumblebug 릴리즈 주요 개선 사항

# 발표영상(YouTube) : https://youtu.be/-HEtncB82ds
----------------------------------------------------------------------------------------
# Cloud-Barista Community Homepage : https://cloud-barista.github.io
# Cloud-Barista Community GitHub : https://github.com/cloud-barista
# Cloud-Barista YouTube channel : https://youtube.com/@cloud-barista
# Cloud-Barista SlideShare : https://cloud-barista.github.io/slideshare

[ CB-Tumblebug : 멀티클라우드 인프라 서비스 통합 관리 (Multi-Cloud Infrastructure Services Integration Management) ]

- CB-Tumblebug 기술 개요
- CB-Tumblebug 기능 및 구조 요약
- CB-Tumblebug 릴리즈 주요 개선 사항

# 발표영상(YouTube) : https://youtu.be/-HEtncB82ds
----------------------------------------------------------------------------------------
# Cloud-Barista Community Homepage : https://cloud-barista.github.io
# Cloud-Barista Community GitHub : https://github.com/cloud-barista
# Cloud-Barista YouTube channel : https://youtube.com/@cloud-barista
# Cloud-Barista SlideShare : https://cloud-barista.github.io/slideshare

Anuncio
Anuncio

Más Contenido Relacionado

Similares a Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug) (20)

Más de Cloud-Barista Community (13)

Anuncio

Más reciente (20)

Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 통합 관리 (CB-Tumblebug)

  1. 1. 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계 클라우드바리스타 커뮤니티 제7차 컨퍼런스 CLOUD BARISTA 코르타도(Cortado) 한잔 어떠세요 ? 멀티클라우드 인프라 서비스 통합 관리 손 석 호 [CB-Tumblebug] CB-Tumblebug 프레임워크 리더
  2. 2. 목 차 1 CB-Tumblebug 개요 I CB-Tumblebug 기능 및 구조 요약 II CB-Tumblebug 릴리스 주요 개선 사항 III
  3. 3. CB-Tumblebug: 멀티클라우드 인프라 서비스 통합 관리 필요성 이종 멀티클라우드 연동 멀티클라우드 자원 통합 컴퓨팅 인프라 멀티클라우드 인프라 서비스 (MCIS) 멀티클라우드 애플리케이션 복잡한 멀티클라우드의 효과적인 활용을 위해, 자원을 유기적으로 통합 제공하는 멀티클라우드 인프라 서비스 통합 관리 필요 CB-Tumblebug MCIS 컴퓨팅 자원 컴퓨팅 자원 컴퓨팅 자원 VM VM VM VM VM VM VM VM APP APP APP APP APP APP APP APP 2
  4. 4. CB-Tumblebug: 멀티클라우드 인프라 서비스 통합 관리 기술 정의 사용자 요구사항에 따라 최적의 멀티 클라우드 인프라 서비스를 조합하여 프로비저닝하고, 통합 제어 및 관리를 통해 사용자의 컴퓨팅 인프라 운용을 지원하는 기술 MCIS 상태 제어 및 관리 OpenStack GCE VM VM AWS EC2 VM 최적 배치 스케줄링 OpenStack GCP AWS EC2 MS Azure Best-2 BEST-1 요구사항 (사양, 가격, 위치, 성능) MCIS 생성 MCIS 제어 및 관리 (시작/중지/종료 + 자동제어) MCIS VM VM VM MCIS MCIS 제공 VM VM 생성 성능벤치마킹기반최적 멀티클라우드인프라 최적 클라우드 인프라 제공을 통한 효율성 증대 멀티클라우드인프라 통합운용자동화 통합 제어, 정책 적용 등 관리 편의성 극대화 CB-Tumblebug 특징 [1] 인프라 배치 계획 단계 [2] 인프라 프로비저닝 단계 [3] 인프라 관리 및 자동화 단계 *MCIS (멀티클라우드 인프라 서비스): 다양한 클라우드 인프라 서비스를 조합 및 상호 연계하여, 통합 제어하기 위한 논리적 그룹 객체 3
  5. 5. CB-Tumblebug 활용 사례 <최적배치 기반의 멀티클라우드 기반 영상 회의 서비스> 영상회의 서버 영상회의 사용자 컴퓨팅 인프라 최적 컴퓨팅 인프라 생성 영상 회의 서버 원격 배치 고품질의 영상 회의 서비스를 전세계 어디든 온디멘드로 제공 <대규모 글로벌 스케일 멀티클라우드 인프라 서비스> 서비스 사용자 컴퓨팅 인프라 대규모 글로벌 인프라 통합 배치 (ex: 게임서버) 대규모 글로벌 인프라 통합 제어 (suspend/resume/reboot/terminate) 4
  6. 6. CB-Tumblebug 활용 사례 (글로벌 3D FPS 게임 서비스) 5 MCIS 기반 글로벌 3D FPS 게임 서비스 (Xonotic) ① 글로벌 23개 지역 에 걸친 멀티클라 우드 인프라 구성 및 생성 ② 3D FPS 게임 서비스 자동 배포 ③ 게임 접속 및 서비스 현황 확인
  7. 7. CB-Tumblebug 주요 기능 요약 • MCIS 최적 배치 스케줄링 • 클라우드 자원의 평가 및 정보 수집을 통해 최적 MCIS를 구성하는 기능 • MCIS 프로비저닝 및 특화 • 다양한 클라우드 자원을 활용하여 MCIS를 생성하고 *특화하는 기능 • MCIS 라이프사이클 제어 및 관리 • MCIS 라이프사이클 상태를 종합적으로 관리, 통합 제어하는 기능 • MCIS 정책 기반 자동 제어 • MCIS를 진단하고 결과에 따라 자동 제어하는 운용 자동화 기능 CB-Tumblebug MCIS 6 CB-TB v0.6.16 API: 126개 VM VM VM VM VM AWS GCP Azure 멀티 클라우드 인프라 서비스 (MCIS) 멀티클라우드 인프라를 .. 최적으로 [구성]→[생성]→[설정]→[관리]→[자동제어] *MCIS 특화: MCIS에 다양한 설정 및 특성을 가미할 수 있는 구조적 특징 (Ex: VPN 설정, LB 설정 등)
  8. 8. MCIS 최적 배치 스케줄링 • * MCIS 최적 배치 방법 (Filtering &Prioritizing) • 스펙 기반 선정 • 가격 기반 선정 • 위치 기반 선정 • 성능 기반 선정 (benchmark) • CSP 기반 선정 • 네트워크 응답속도 기반 선정 • 복합 조건 기반 선정 • 다양한 정보를 수집하여 사용자 요구사항에 적합한 자원을 선정하여, MCIS를 최적으로 구성(배치/스케줄링)하는 기능 VM 가격 비교 (AWS vs GCP) VM 성능 비교 (AWS vs GCP) 클라우드 리전 위치 (약 150개 리젼) 7 Benchmark 예시 CPU 계산 성능 Memory RW 성능 Disk RW 성능 DB Transaction 성능 * MCIS 최적 배치: 최적으로 구성(배치/스케줄링)된 MCIS의 프로비저닝을 의미 Ref: aws-vs-gcp-vs-on-premises-cpu-performance-comparison (medium.com) USD ($) CPU 성능 상대 평가 (%) [구성]→[생성]→[설정]→[관리]→[자동제어]
  9. 9. MCIS 프로비저닝 및 특화 (1/2) VM VM VM 멀티클라우드 자원 생성 및 준비 단계 SG NET KEY SPEC IMG SG NET KEY SPEC IMG SG NET KEY SPEC IMG VM VM VM 개별 VM 생성 단계 MCIS 생성 단계 MCIS 프로비저닝 과정 클라우드 클라우드 클라우드 VM VM VM VM VM VM VM MCIS 확장 MCIS 축소 [MCIS 구성 변경 예시] • 이종 클라우드의 컴퓨팅 자원을 통합 생성 및 상호 연계하여 *MCIS로 구성하고 설정을 통해 특화하는 기능 VM VM VM VM VM aws gcp azure [MCIS 특화 구성 예시] Load-Balancing 특화 기능 VPN … VM VM VM VM VM aws gcp azure [MCIS 구성 예시] 다양한 클라우드 자원 통합 제어 가능 8 *MCIS: 다양한 클라우드 인프라 서비스를 조합 및 상호 연계하여, 통합 제어하기 위한 논리적 객체 [구성]→[생성]→[설정]→[관리]→[자동제어]
  10. 10. MCIS 프로비저닝 및 특화 (2/2) 9 1개 API 호출 [공통 이미지] https://github.com/cloud-barista/cb- tumblebug/blob/main/assets/cloudimage.csv [공통 스펙] https://github.com/cloud-barista/cb- tumblebug/blob/main/assets/cloudspec.csv MCIR 생성 단계 간소화 및 자동화 ♥ (기본) MCIS 프로비저닝 과정 MCIS 생성 Namespace 생성 vNet 생성 Subnet 생성 클라우드 드라이버 등록 클라우드 리전 등록 SG 생성 SSHKey 생성 클라우드 연결 설정 등록 클라우드 크리덴셜 등록 (동적) MCIS 프로비저닝 과정 MCIS 동적 생성 클라우드 드라이버 등록 클라우드 크리덴셜 등록 클라우드 리전 등록 클라우드 연결 설정 CB-TB 시스템 환경 설정 기본 Namespace 자동 생성 Image 등록 Spec 등록 공통 Image 설정 공통 Spec 설정 기본 vNet 동적 생성 기본 Subnet 동적 생성 기본 SG 동적 생성 기본 SSHKey 동적 생성 VMs 생성 VMs 생성 12개 API 호출 [시스템 환경 설정 스크립트] ./scripts/initMultiCloudEnv.sh [구성]→[생성]→[설정]→[관리]→[자동제어]
  11. 11. MCIS 라이프사이클 제어 및 관리 Running Terminated Suspended Reboot Suspend Create Resume Terminate Failed Error Creating Terminating Suspending Resuming Rebooting MCIS 라이프사이클 상태도 R R R R R R R S S S Partial-Running-(7/10) R R R F R R R R R R Failed-(1/10) • MCIS의 라이프사이클 통합 제어하고 상태를 쉽게 파악할 수 있는 기능 • MCIS의 세부 요소들의 대표적인 상태를 한눈에 표시 (ex: Partial State) MCIS 라이프사이클 제어 = VM 통합 제어 VM VM VM MCIS MCIS 재시작 Reboot R R R MCIS 라이프사이클 상태 검증 및 보정 10 [구성]→[생성]→[설정]→[관리]→[자동제어]
  12. 12. 사용자 정책 기반 MCIS 자동 제어 VM VM VM VM (auto) MCIS 자동 제어 정책 진단 조건 제어 액션 MCIS 사용량 모니터링 MCIS 확장 • 사용자 정책을 기반으로 MCIS의 상태를 진단하고, 결과에 따라 MCIS를 자동 제어하는 기능 • 대규모 자원의 수동 처리 한계 극복 • MCIS 진단 조건 • MCIS 자원 사용량 진단 • MCIS 라이프사이클 진단 • MCIS 성능 진단 • … • MCIS 제어 액션 • MCIS 규모 제어 (Scale In/Out) • MCIS 라이프사이클 제어 (Suspend/Resume) • MCIS 자원 교체 (Replace) • … 11 [구성]→[생성]→[설정]→[관리]→[자동제어]
  13. 13. (참고) CB-Tumblebug 시스템 구조 운용 정보 통합 저장소 자동 제어 정책 관리 자동 제어 NS 생성 삭제 수정 VM 이미지 관리 가상 네트워크 관리 VM 키페어 관리 보안 그룹 관리 VM 사양 관리 동적 리소스 생성 제어 리소스 템플릿 관리 MCIS 정보 구성 개별 VM 생성 제어 MCIS 동작 검증 MCIS 통합 네트워크 구성 MCIS 요구 사항검증 최적 MCIS 구성 관리 위치 기반 배치 동적 성능 기반 배치 사양 기반 배치 통합 조건 기반 배치 라이프사이클수집 사용량 정보 수집 MCIS 라이프사이클 통합 제어 개별 VM 라이프사이클 제어 MCIS 라이프사이클 통합 정보 생성 개별 VM 라이프사이클 상태 정보 수집 개별 VM 라이프사이클 상태 검증 평가 정보 저장/조회 종합 평가 정보 전달 생성 결과 및 접속 정보 전달 평가 결과 통합 관리 평가 VM 실행 관리 MCIS 프로비저닝 요청/조회 (요구사항 전달) MCIR 생성/조회 MCIS 라이프사이클 제어 요청/조회 MCIS 품질 자동 제어 요청/조회 네임스페이스 생성/조회 종합 평가 정보 조회 메타데이터 기반 정보 수집 동적 성능 기반 정보 수집 MCIS 배치 평가 정책 관리 MCIS 생성 요청 결과 전달 라이프 사이클 상태 조회 라이프 사이클 관리 요청 제어 요청 자동 제어 정책 및 결과 저장/조회 MCIS 정보 저장/조회 리소스 정보전달 리소스 조회 / 동적 리소스 생성 MCIS 배치 평가 정보 저장소 제어 조건 판단 동적 성능 평가 요청 평가 정보 전달 MCIS 라이프사이클 상태 정보 저장/조회 MCIR 정보 저장/조회 자동 제어 로그 관리 이벤트 저장 네임스페이스 정보 저장/조회 제어 요청 ② ① ③ ④ ⑤ 상태 수집 요청 네임스페이스 검증 요청 결과 전달 REST Client Lib. CLI API 호출 결과 제공 API 호출 결과 제공 REST API 런타임 서버 gRPC API 런타임 서버 gRPC Client Lib. MCIR 관리 네임스페이스 관리 MCIS 프로비저닝 관리 MCIS 라이프사이클 통합 관리 MCIS 자동 제어 사용자 인터페이스 (API, CLI) MCIS 배치 최적화 MCIS 생성 관리 MCIS 배치 평가 정보 관리 MCIS 동적 성능 벤치마킹 MCIS 라이프사이클 정보 통합 관리 MCIS 라이프사이클 통합 제어 상태 정보 수집 최적 배치 알고리즘 MCIS 성능 평가 관리 성능 정보 수집 CB-Dragonfly CB-Spider 12 CB-Larva 환경 설정 조회 및 변경 시스템 관리 및 유틸리티 클라우드 커넥션 정보 등록 및 관리 메타데이터 관리 기능 자원 현황 리포트 기능 CSP 기존 자원 등록 기능 ⓐ 시스템 관리 및 유틸리티 사용 [구성]→[생성]→[설정]→[관리]→[자동제어]
  14. 14. CB-TB 코르타도 (v0.7.0) 주요 개선 포인트 13 1) MCIS 인프라 형상 개선 (+DataDisk, +Snapshot, +NLB) 2) MCIS 자동 제어 안정화 및 개선 (+MC-AutoScale)
  15. 15. *SubGroup SubGroup SubGroup 1) MCIS 인프라 형상 개선 (+DataDisk, +Snapshot, +NLB) 14 VM VM VM VM VM VM Tumblebug MCIS MCIS Network address space (Public IP: x.x.x.x | Private IP: 192.168.0.0/16 | Overlay net IP: 10.10.0.1) User Public IP, NLB IP CSP Private Subnet (VPC) 192.168.1.0/24 CSP Private Subnet (VPC) 192.168.2.0/24 CSP Private Subnet (VPC) 192.168.3.0/24 Private Subnet (192.168.0.0/16) GCP AWS Azure SecurityGroup SecurityGroup SecurityGroup RootDisk RootDisk RootDisk RootDisk RootDisk RootDisk *R-NLB R-NLB R-NLB *SubGroup 동일 속성을 가진 VM 및 리소스의 그 룹 (기존 VMGroup) *NLB 네트워크 로드벨런서(L4) - G-NLB: Global (SW 기반) - R-NLB: Regional (CSP 서비스) *G-NLB *DataDisk DataDisk DataDisk DataDisk DataDisk DataDisk *DataDisk CSP 제공 Volume을 생성 및 관리 하여, MCIS의 VM에 할당 VM snapshot image 스냅샷 재사용
  16. 16. 15 MCIS#1 rootDisk dataDisk #1 dataDisk #2 VM 1-1) DataDisk (volume) 관리 기능 MCIS 생성시 기본 지정 • RootDiskType • RootDiskSize DataDisk 관리 (생성/수정/연동/삭제) • DiskType • DiskSize 15 dataDisk #1 dataDisk #2 dataDisk #3 dataDisk #N MCIS#2 rootDisk dataDisk #3 VM Attach (연동) DataDisk 리소스 Detach (분리)
  17. 17. 16 1-1) DataDisk (volume) 관리 기능 DataDisk 관리 API (+8개) 16 DataDisk 생성 DataDisk 삭제 DataDisk 크기 변경 DataDisk 조회 DataDisk 리스트 조회 VM 기준, DataDisk VM 연동/분리 VM 기준, 가용 DataDisk 리스트 조회 DataDisk 전체 삭제
  18. 18. 17 MCIS rootDisk dataDisk #1 dataDisk #2 신규 VM (Custom Image 활용) MCIS rootDisk dataDisk #1 dataDisk #2 신규 VM (Custom Image 활용) MCIS rootDisk 신규 VM (Custom Image 활용) 1-2) VM Snapshot 기능 MCIS rootDisk dataDisk #1 dataDisk #2 기존 VM (Snapshot 대상) Snapshot 과정 (CSP snapshot 기능 연동 -> CB-TB 관리 자원으로 등록) Image snapshot (+ rootDisk data) Volume snapshot X Volume snapshot Y CSP 영역 Custom Image (CB-TB obj) dataDisk X (CB-TB obj) dataDisk Y (CB-TB obj) CB-TB 관리 자원 Snapshot 활용 과정 (Custom Image로 VM 생성) dataDisk #1 dataDisk #2 VM 생성 선택적 장착 17
  19. 19. 1-3) [Global, Regional] NLB 18 MCIS vm vm vm vm subGroup (4) Health Checker port:80 사용자 p:80 p:80 p:80 p:80 NLB#1 IP vm vm vm subGroup (3) Health Checker port:80 p:80 p:80 p:80 NLB#2 IP (AWS) (GCP) Regional NLB - CSP의 NLB 서비스 연동 (*L4 NLB) - CSP가 HW를 기반으로 직접 제공하는 서 비스이므로 고성능 - 이용료 과금 - MCIS 내부의 SubGroup 단위로 연동 - CSP에 종속된 NLB 서비스는 일반적으로 동일 CSP 및 리전(VPC) 내의 자원들만 연동 가능하므로, 편의성을 고려 R-NLB#1 R-NLB#2 Regional NLB (CSP의 NLB 서비스 연동) * Layer 4 NLB Layer 4 (TCP, UDP)에서 IP와 Port를 활용하여 네트워크 부하를 연결된 서버들로 분산하는 것을 의미
  20. 20. 1-3) [Global, Regional] NLB 19 Global NLB - MCIS 내의 모든 VM을 Public IP를 기반으로 연동 - SW 기반 NLB를 배포하여 서비스 형태로 제공 (L4) - Script 기반으로 HAProxy 제공 - Script 변경을 통해 사용자 선호 SW로 변경 가능 - PoC 단계 (Global DNS인 GSLB와 다름) - 최적 배치 기능을 통해, 최적의 NLB Host 배포 MCIS vm Health Checker port:80 사용자 NLB IP Global NLB (VM에 SW로 배포된 NLB 서비스) G-NLB vm vm vm vm vm vm vm vm vm vm vm p:80 p:80 PoC G-NLB != GSLB MCIS 특징: 최적 배치 기능을 통한, 최적의 NLB Host 배포 전체 노드의 응답 속도 합이 최소가 되도록 최적 배치 G-NLB
  21. 21. 1-3) [Global, Regional] NLB: 최적 배치 (1/2) 20 모든 클라우드 리전에 Network Probe 배치 모든 리전간 Network Latency 측정 AWS ap-southeast2 (시드니) GCP us-west2 (LA) 143 ms 143 ms
  22. 22. 1-3) [Global, Regional] NLB: 최적 배치 (2/2) 21 VM#1 (리전 a) VM#2 (리전 s) VM#3 (리전 d) VM#4 (리전 f) VM#5 (리전 g) VM#6 (리전 h) 응답시간 총합 (ms) 평가 순 위 리전 z 20 34 234 345 123 45 801 4 리전 x 123 456 54 34 45 78 790 3 리전 c 34 56 23 34 56 67 270 1 리전 v 456 234 223 125 34 67 1139 6 리전 b 34 54 34 188 78 34 422 2 리전 n 213 56 36 567 23 89 984 5 NLB 최적 CSP 및 리전 선정 (NLB와 전체 VM 사이의 응답속도 합을 최소화하는 선정)
  23. 23. CB-Tumblebug NLB 시연 22
  24. 24. CB-TB 코르타도 (v0.7.0) 주요 개선 포인트 23 1) MCIS 인프라 형상 개선 (+DataDisk, +Snapshot, +NLB) 2) MCIS 자동 제어 안정화 및 개선 (+MC-AutoScale)
  25. 25. 2) MCIS 자동 제어 안정화 및 개선 CB-Spider CB-Ladybug CB-Dragonfly CB-Larva VM VM VM MCIS 자동 제어 정책 진단 조건 제어 액션 MCIS 사용자 정의 프로그램 사용자 정의 사용자 정의 액션 TB 액션01 TB 액션01 TB 액션01 다양한 수집 대상 다양한 액션 24
  26. 26. 2) MCIS 자동 제어 메커니즘 안정화: State-Machine MCIS 자동 제어 State-Machine Ready Checking Detected Operating Timeout Failed Suspended start 자동 제어 등록 자동 제어 중지 조건 만족 X 오류 응답 없음 자동 조건 만족 O 자동 타임아웃 횟수 초과 제어 완료 • State-Machine 메커니즘 • 자동 제어 컨트롤러는 정책 오브젝트 상태를 기준으로 동작 • 시스템 중단 및 재실행 시에도 정상 동작 가능 자동 제어 컨트롤러 - 주기적으로 정책 오브젝트 상태 확인 - 상태에 맞는 동작 수행 Stabilizing 제어 안정화 완료 25
  27. 27. 2) MCIS 자동 제어 메커니즘: MC-AutoScale 26 MC-AutoScale - 자동제어 메커니즘을 기반으로 멀티클라우드 단위로 ScaleOut을 자동으로 수행하는 기능 - ScaleOut 멀티클라우드 최적 배치 - ScaleOut할 노드를 워크로드 상황 및 요구사항에 따라 최적 배치 - ScaleOut 확장 규모 자동 판단 - 워크로드를 분석하여, ScaleOut 추가 노드 수 자동 판단 - ScaleOut 기존 서비스 재구성 - PostAction을 활용하여, 기존 서비스 구성 재구성 VM VM VM VM (auto) MCIS 자동 제어 정책 진단 조건 제어 액션 MCIS 사용량 모니터링 MCIS 확장 1) 멀티클라우드 최적배치 VM (auto) 2) 확장 규모 자동 판단 VM (auto)
  28. 28. MCIS 자동 제어 시연 27
  29. 29. 멀티클라우드 서비스 공통 플랫폼 코르타도(Cortado) 한잔 어떠세요 ? CLOUD BARISTA 부 록 28
  30. 30. [참고] CB-Tumblebug 참여 방법 (환영합니다..^^) CB-Tumblebug GitHub https://github.com/cloud-barista/cb-tumblebug 29
  31. 31. [참고] CB-Tumblebug 사용 방법 30 모든 정보는 여기에: https://github.com/cloud-barista/cb-tumblebug REST API Swagger dashboard 지도 기반 GUI 클라이언트 CB-Tumblebug 서버 RE ST API Web 기반 GUI 클라이언트 CB-Tumblebug 시스템은 REST API 서버 형태로 구동 (언어 및 플랫폼 독립적인 클라이언트 사용 가능) • CB-TB 서버 실행 • CB-TB 제어 • REST API (MapUI, Dashboard,..) • 스크립트 • CB-TB 로 생성한 MCIS 맛보기 • MCIS VM에 SSH 접속 • MCIS에 영상회의 서버 자동 배포 • MCIS에 클러스터 모니터링 도구 배포 • MCIS에 Ansible 환경 자동 구성 • MCIS에 Nginx 자동 배포 • MCIS 토이 게임 서버 배치 • …
  32. 32. [참고] CB-TB 서버 실행 31 (1) CB-Tumblebug 빌드 환경 구성 • 필요 패키지 또는 도구 설치 (git, make, go, … ) • CB-Tumblebug 소스 다운로드 • git clone https://github.com/cloud-barista/cb-tumblebug.git $HOME/go/src/github.com/cloud-barista/cb-tumblebug • CB-Tumblebug 실행에 필요한 환경변수 설정 • source ./conf/setup.env • (2) CB-Tumblebug 빌드 • 빌드 명령 실행 • make • (3) CB-Tumblebug 실행 • CB-Spider 실행 (다른 탭에서) • 실행 명령 실행 • make run
  33. 33. [참고] CB-TB 제어하기 (REST API) • Swagger API 지원 • Swagger 기반 자동 API 문서 생성 • CB-Tumblebug 서버의 Swagger UI 웹 제공 CB-Tumblebug API (Swagger UI) Swagger UI에서 직접 API 호출 프로그램 주석으로 API 문서 자동 생성 32
  34. 34. [참고] CB-TB 제어하기 (스크립트) 모든 자원 종료 및 삭제 MCIR 생성을 위한 모든 단계 수행 클라우드 연동 환경 설정 MCIR 생성 MCIS 생성 MCIS 접속키 파일 생성 MCIS 영상회의 서버 배포 MCIS 확장 MCIS 상태 조회 MCIS 자동 제어 정책 등록 Namespace 생성 [사용 및 개발 편의를 위한 다양한 테스트 스크립트] conf.env credentials.conf 위치: cb-tumblebug/src/testclient/ - 클라우드 리젼, 이미지 ID 등 - CSP 사용자 인증 크레덴셜 testSet.env - 테스트 대상 클라우드 리전 지정 33
  35. 35. [참고] 다양한 클라우드로 구성된 MCIS 시험 지원 (스크립트) • CB-Tumblebug 테스트를 위한 다양한 클라우드 리전의 정보를 수집 (conf.env 및 testSet.env) # AWS (Total: 21 Regions) # GCP (Total: 25 Regions) # Alibaba (Total: 23 Regions) # Azure (Total: 40 Regions) # Cloudit (Total: 1 Regions) # OpenStack (Total: 1 Regions) # Mock (Total: 1 Regions) # Cloud-Twin (Total: 1 Regions) … • 테스트 대상 클라우드 리전(testSet.env) 설정을 통해, 다양한 클라우드의 VM으로 조합된 MCIS를 쉽게 생성 및 시험 가능 testSet.env 34
  36. 36. [참고] 다양한 클라우드로 구성된 MCIS 시험 지원 (스크립트) 35 AWS 리전*2, GCP 리전*2, Alibaba리전*2 VM 복제본을 각 10개씩 배치 요청 (단일 커멘드) 배치 결과
  37. 37. [참고] CB-TB 클러스터 모니터링 도구 (유스케이스 발굴 및 배포 자동화) • CB-Tumblebug의 MCIS에 클러스터 모니터링 도구(WeaveScope) 자동 배치 • WeaveScope는 컨테이너 클러스터를 모니터링 및 가시화하는 도구 • CB-Tumblebug의 MCIS에서 WeaveScope 클러스터가 바로 동작하도록 배포 자동화 스크립트 개발 • MCIS의 형상을 확인하는 데 도움 Weavescope 동작 형상 CB-Tumblebug MCIS VM VM VM WeaveScope 자동 설정 및 배포 스크립트 CB-Tumblebug 서버 WeaveScope 자동 설정 및 배포 구조 MCIS 생성 WS 배포 (MCIS 원격 커맨드 기능) WS 설정 정보 조회 36
  38. 38. [참고] CB-TB 영상 회의 서비스 자동 배포 (유스케이스 발굴 및 배포 자동화) • CB-Tumblebug 영상 회의 서비스 자동 배포 • Jitsi는 영상 회의 서버를 제공하는 오픈소스 SW • CB-Tumblebug를 통해 MCIS에 Jitsi가 쉽게 배치 될 수 있도록 자동화 스크립트 개발 (단 3개의 명령어로 배포 완료) • 영상회의는 사용자에게 빠른 응답속도를 제공해야 하므로, 서버의 위치가 중요 • CB-Tumblebug를 통해서 글로벌 스케일 환경에 최적의 클라우드를 선정하여 영상회의 서비스를 위한 인프라를 제공 가능 Jitsi 영상회의 접속 화면 최적 MCIS에 영상회의 서버 자동 배포 구조 CB-Tumblebug MCIS VM Jitsi 자동 배포 스크립트 CB-Tumblebug 서버 DNS record 업데이트 스크립트 Jitsi AWS Route53 제네바.cb.org Aws cli VM Jitsi VM Jitsi 서울.cb.org 워싱턴.cb.org 워싱턴 서울 제네바 MCIS 최적 배치 (위치기반) Jitsi 배포 1) createAll-mcis-mcir-ns-cloud.sh 2) update-dns-for-mcis-ip.sh 3) deploy-jitsi-to-mcis.sh 37
  39. 39. [참고] CB-TB의 Ansible 사용자 지원 (유스케이스 발굴 및 배포 자동화) • CB-Tumblebug의 Ansible 사용자 지원 • Ansible은 Infrastructure as Code를 지향하는 오픈소스 기반의 자동화 관리 도구 • 구축/관리 하려는 인프라에 SSH로 원격 명령을 전달하는 방식으로 동작 • CB-Tumblebug의 MCIS에서 Ansible을 바로 사용할 수 있도록 Ansible 설정 자동화 스크립트 개발 Ansible 동작 형태 [Source] https://www.ibm.com/cloud/blog/end-to-end-application-provisioning-with-ansible-and-terraform CB-Tumblebug MCIS VM VM VM Ansible 자동 설정 스크립트 Ansible CB-Tumblebug 서버 Ansible host file Ansible playbook CB-Tumblebug 의 MCIS에 Ansible 구동 자동 설정 MCIS 생성 SSH Ansible host 파일 생성 38
  40. 40. [참고] CB-Tumblebug 소스코드 구조 39 • 소스코드 • 저장소: https://github.com/cloud- barista/cb-tumblebug • 개발 언어: Golang v1.19 • goDoc • https://pkg.go.dev/github.com/cloud- barista/cb-tumblebug@main
  41. 41. 감사합니다. 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계 Cloud-Barista Community the 7th Conference 클라우드바리스타들의 일곱번째 이야기 본 발표자료에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다. 손 석 호 / contact-to-cloud-barista@googlegroups.com https://github.com/cloud-barista https://cloud-barista.github.io

×