-
Notifications
You must be signed in to change notification settings - Fork 50
Dynamic and optimal mci provisioning guide
Seokho Son edited this page Sep 25, 2024
·
1 revision
CB-TB에서는 MCIS를 구성하는 VM 서비스를 선정하기 위해서 최적 배치 기능을 제공하며, 지원하는 선정 요소는 다음과 같다. (변동 및 추가될 수 있음)
- VM 사양 기반 선정
- VM 가격 기반 선정
- VM 위치 기반 선정
- VM 성능 기반 선정
(WIP: 현재 cloudspec.svc에 evaluationScore01 항목으로 동작. Prime Number 계산 성능에 해당하지만, 개략적 측정 값 기반으로 운용)
- CPU를 통한 계산 성능 (Prime Number 계산)
- Memory 읽기 쓰기 성능
- Disk 읽기 쓰기 성능
- DB 읽기 쓰기 트랜잭션 성능
최적 배치 기능 사용을 위해서는 최적 배치에 사용할 VM 서비스 리스트(공통 자원)를 미리 CB-TB 시스템에 등록하여야 한다.
환경 설정을 수행하면, https://github.com/cloud-barista/cb-tumblebug/tree/main/assets 에 정보들이 CB-TB에 등록된다. (https://github.com/cloud-barista/cb-tumblebug/pull/940)
특히, 다음의 정보가 CB-TB에 등록된다. 해당 정보는 파일 기반으로 수정이 가능하며, 내부에 각 VM Spec의 평가 정보가 포함되어 있다. 평가 정보는
- CB-TB VM Spec: https://github.com/cloud-barista/cb-tumblebug/blob/main/assets/cloudspec.csv
- CB-TB Image: https://github.com/cloud-barista/cb-tumblebug/blob/main/assets/cloudimage.csv
VM Image에 따라서 구동되지 않는 VM Spec이 있을 수 있으며,
Spec과 Image 상호 관계가 추적되고 있지 않음. 추가 개선 필요.
{
"filter": { // 필터링 정책
"policy": [ // 다양한 필터링 정책 등록 가능 (예를 들면, metric을 cpu, memory 등으로 지정하고, 조건 범위 지정)
{
"condition": [
{
"operand": "4",
"operator": "<=" // 오퍼레이터는 산술 비교값이 사용됨 (`>=`, `<=`, `==` 등)
}
],
"metric": "vCPU"
}
]
},
"limit": "5", // 요청에 대한 응답은 VM Spec의 리스트로 구성되며, limit은 이 리스트의 개수를 제한함
"priority": { // 필터링된 리스트를 정렬하는 조건
"policy": [
{
"metric": "location", // `location`, `cost`, `performance` 로 지정 가능
"parameter": [
{
"key": "coordinateClose", // `location`인 경우 가장 가까운 순을 의미하는 `coordinateClose` 선택 가능
"val": [
"44.146838/-116.411403" // 값은 위도/경도
]
}
],
"weight": "0.3" // 다중 priority 정책이 정의된 경우 가중치 지정 가능. (현재는 반영되지 않음)
}
]
}
}
관련 PR (https://github.com/cloud-barista/cb-tumblebug/pull/879)
{
"name": "mcis01",
"vm": [
{
"commonImage": "aws+ap-northeast-2+ubuntu18.04",
"commonSpec": "aws+ap-northeast-2+t2.small"
}
]
}
동적 MCIS를 생성 시, 미리 생성된 공통 MCIR이 있는 경우 공통 MCIR을 사용하게 됨.
- 미리 특정 클라우드(리전)에 기본 MCIR 생성하는 API: https://cloud-barista.github.io/cb-tumblebug-api-web/?url=https://raw.githubusercontent.com/cloud-barista/cb-tumblebug/main/src/api/rest/docs/swagger.yaml#/
만약 공통 MCIR이 미리 생성되어 있지 않으면 이를 내부적으로 생성 후, MCIS 생성을 수행함.
따라서, 동적 MCIS 생성 및 삭제 후 관련 MCIR이 필요없어진 경우에는 삭제를 수행하는 것을 권장함.
- Design
- Features & Usage
- Install & Start Guide
- User Interface
- Developer Guide
- Test Reports