(To be deprecated) How to run and use the CM-Beetle #73
Locked
yunkon-kim
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Note
Docker Compose를 활용해 CM-Beetle 및 관련 컴포넌트를 구동하는 것을 정식 구동 방법으로서 메인테이닝 합니다.
Please, see the discussion #105
CM-Beetle을 실행 및 활용하기 위한 가이드입니다.
가이드와 관련한 Q&A, 이슈 등은 댓글로 남겨주면 좋을 것 같습니다.
아래와 같은 환경에서 테스트를 하였습니다. 참고 바랍니다.
서브시스템 버전:
테스트 환경
Note - Host
Prerequisites
: 사전에 설치 또는 서브시스템이 준비되어 있는경우 Skip 가능
필요 패키지/종속성 설치
: git, gcc, make, go, docker를 사전에 설치
Go 설치
Note - Install the latest stable version of Go for CM-Beetle contribution/development since backward compatibility seems to be supported.
For example, we can install Go 1.21.6 and use
go 1.19
ingo.mod
. (In the opposite case, you will encounter a build error.)Example - Install Go 1.21.6, see Go all releases and Download and install
Docker 설치
Docker Permission Denied 발생 시, How to Fix Docker Permission Denied? 참고
CB-Spider 및 CB-Tumblebug 실행
CB-Tumblebug 소스 빌드 및 실행 방법 상세에 따라 CB-Spider와 CB-Tumblebug을 실행합니다(CB-Spider v0.8.17, CB-Tumblebug v0.8.12 활용).
아래는 대략적인 흐름을 나타내며, 3개의 터미널이 사용됩니다.
터미널1 실행
1. CB-Tumblebug 소스코드 다운로드
참고 - Tumblebug README에서는
~/go/src/github.com/cloud-barista/cb-tumblebug
를 기본 디렉토리로 활용합니다. 필요시 변경하시기 바랍니다.(Tumblebug v0.9.0를 활용을 위해 checkout)
2. CB-Spider container 실행(v0.9.0)
터미널2 실행
3. CB-Tumblebug 소스코드 빌드 및 container 실행(v0.9.0)
(필요시 참고) 아래를 실행 시 Tumblebug Swagger UI URL, ID, Password 출력됩니다.
터미널3 실행
4. 활용하려는 CSP의 Credential 준비(참고: CSP별 인증 정보 획득 방법)
5. 크리덴셜 파일 생성
파일 생성 방법: 아래 스크립트를 통해
credentials.yaml
파일 자동 생성 (경로:~/.cloud-barista/
)6. 4번에서 준비한 CSP의 Credential 정보를 활용하여
~/.cloud-barista/credentials.yaml
파일을 알맞게 수정7. 모든 멀티 클라우드 연결 정보 및 공통 자원 등록
: CB-Tumblebug을 활용하여 멀티 클라우드 인프라를 생성하기 위해 필요한 클라우드 연결 정보(크리덴셜, 클라우드 종류, 클라우드 리젼 등), 공통 활용 이미지 및 스펙 등에 등록이 필요합니다.
: 다음 스크립트를 통해 이것을 일괄 등록할 수 있습니다.
: 등록 방법: README.md for init.py를 참고하여, init.py 스크립트 실행 (확인 메시지에 대해 'y' 입력)
(결과 참고 - AWS 크리덴셜을 입력하여 54개 이미지, 250개 스펙이 등록된 결과)
Getting started CM-Beetle
별도의 터미널 실행
1. CM-Beetle 소스코드 다운로드
참고 - 여기에서는
~/go/src/github.com/cloud-barista/cm-beetle
을 기본 디렉토리로 활용합니다. 필요시 변경하시기 바랍니다.(Beetle v0.2.0 활용을 위해 checkout)
2. CM-Beetle 소스코드 빌드 및 실행(v0.2.0)
아래를 실행 시 Beetle Swagger UI URL, ID, Password 출력됩니다.
3. Swagger UI 접속
2에서 출력된 정보 활용하여 Swagger UI에 접속합니다.
4번 부터는 API 요청 및 응답에 대한 설명입니다. API들이 호출되는 순서 및 관계를 확인하실 수 있습니다.
4. Infra Recommendation API 호출
: 소스 컴퓨팅 인프라의 서버 정보를 입력하면, 클라우드 인프라(목표 모델)를 추천해 주는 API 입니다.
: 활용 방법, 순서, 요청/응답 예시는 다음과 같습니다.
POST /recommendation/infra
Try it out
버튼 클릭Execute
버튼 클릭Click see API details
Process (Handler/controller):
Output (Response body): 추천된 인프라 (목표 모델)
5. Infra Migration API 호출
: 추천된 클라우드 인프라(목표 모델)에 따라 인프라 마이그레이션을 수행하는 API 입니다.
: 활용 방법, 순서, 요청/응답 예시는 다음과 같습니다.
POST /migration/infra
Try it out
버튼 클릭POST /recommendation/infra
의 출력 값 임)Execute
버튼 클릭Click see API details
POST /recommendation/infra
의 출력과 동일 (타겟 모델)Process (Handler/controller):
Output (Response body): 마이그레이션된 인프라 정보
6. 마이그레이션된 Infra 조회 API 호출
: 마이그레이션된 인프라 정보를 조회하는 API 입니다.
: 활용 방법, 순서, 요청/응답 예시는 다음과 같습니다.
GET /migration/infra/{infraId}
Try it out
버튼 클릭cloud-infra01
(아래 예시 참고)Execute
버튼 클릭Click see API details
Input (Path param): 마이그레이션된 인프라 ID
cloud-infra01
Process (handler/controller):
Output (Response body): 클라우드로 마이그레이션된 인프라 정보
7. 마이그레이션된 Infra 삭제 API 호출
: 마이그레이션된 인프라를 삭제하는 API 입니다.
: 활용 방법, 순서, 요청/응답 예시는 다음과 같습니다.
DELETE /migration/infra/{infraId}
Try it out
버튼 클릭cloud-infra01
(아래 예시 참고)Execute
버튼 클릭Click see API details
Input (Path param): 마이그레이션된 인프라 ID
cloud-infra01
Process (handler/controller):
Output (Response body): 클라우드로 마이그레이션된 인프라 정보
Beta Was this translation helpful? Give feedback.
All reactions