-
Notifications
You must be signed in to change notification settings - Fork 8
Install based on source code
cb-network system의 컴포넌트를 설치 및 구동하기 위한 가이드 입니다. (버전: v0.0.15)
cb-network system은 네트워크 제어 영역(Control plane)과 데이터 영역(Data plane)으로 구성되어 있습니다. 따라서, 이후 내용은 Control plane과 Data plane으로 나누어 설명하겠습니다.
- Control plane 컴포넌트:
- cb-network controller,
- cb-network service,
- cb-network admin-web
- Data plane 컴포넌트:
- cb-network agent
비고 - 각 컴포넌트는 독립된 노드(PC, VM, 등)에서 구동 가능합니다. 본 가이드 에서는 복잡한 설명을 생략하고자 Control plane 컴포넌트를 한 노드에 구성했습니다.
cb-network system의 각 컴포넌트를 설치하기 전에, 아래 사항을 참고하십시오.
Architecture | Operating system | Distribution | Version | Note |
---|---|---|---|---|
AMD64 | Linux | Ubuntu | 18.04 | |
AMD64 | Linux | CentOS | 7.9 | Tested only for the agent |
- VM 1: Control plane 컴포넌트 설치 및 구동
- VM 2, 3: Data plane 컴포넌트 설치 및 구동
각 컴포넌트를 빌드하기 위해 Go version 1.19를 필요로 합니다.
wget https://raw.githubusercontent.com/cloud-barista/cb-coffeehouse/master/scripts/golang/go-installation.sh
source go-installation.sh '1.19'
참고: Go Setup Script
- 외부에 있는 cb-network agent가 Control plane에 연결/접속하기 위한 Public IP를 필요로 합니다. VM 1의 Public IP를 확인해 주십시오.
- 방화벽/Security Group 설정에서 Ports used in CB-Larva의 포트를 오픈해 주십시오.
- On Ubuntu
sudo apt update -y
sudo apt install git unzip make gcc tree -y
아래 두 가지 방법 중 선호하는 방식으로 진행 할 수 있습니다.
- Download the CB-Larva repo as a zip file and unzip it
cd ~
wget -c https://github.com/cloud-barista/cb-larva/archive/refs/tags/v0.0.15.zip -O cb-larva.zip
unzip cb-larva.zip
- Clone the repo
cd ~
git clone https://github.com/cloud-barista/cb-larva.git
cb cb-larva
git checkout tags/v0.0.15 -b v0.0.15
cb ~/cb-larva
./build.sh
bin
디렉토리에 실행파일 및 설정파일이 복사 됩니다.
비고 - 설정파일 config.yaml
의 기본값은 localhost
로 설정되어 있습니다. 필요시 수정하시기 바랍니다.
비고 - 설정파일 log_conf.yaml
은 그대로 사용해도 무방합니다. 필요시 수정하시기 바랍니다.
각 컴포넌트는 새로운 터미널에서 실행하는 것을 권장합니다. 아래에서 가이드 하겠습니다.
cb-network 시스템은 분산 키-값 저장소를 필요로 합니다. 여기서는 etcd
를 활용했습니다.
비고 - 테스트를 위해 단일-노드 클러스터를 배치했습니다. 실제 서비스를 위해서는 멀티-노드 클러스터를 배치하십시오.
참고 링크:
cd ~
git clone https://github.com/etcd-io/etcd.git
cd etcd
git checkout tags/v3.5.0 -b v3.5.0
./build.sh
외부 접근은 위해서 --advertise-client-urls
and --listen-client-urls
를 설정해야 합니다.
아래 [PUBLIC_IP]를 실행환경의 Public IP로 변경 후 실행 바랍니다.
./bin/etcd --advertise-client-urls http://[PUBLIC_IP]:2379 --listen-client-urls http://0.0.0.0:2379
cd ~/cb-larva/bin
sudo ./controller
cd ~/cb-larva/bin
sudo ./service
cd ~/cb-larva/bin
sudo ./admin-web
Data plane 컴포넌트는 pre-built binary 구동을 권장합니다. 소스코드 기반 구동 / 컨테이너 기반 구동시 필요한 툴/패키지 등을 사용자 환경에 설치하지 않기 위함 입니다.
- 사전에 준비된 VM 2와 3을 활용하겠습니다.
- cb-network admin-web에 접속하여 cladnet을 생성하고, ID를 준비해 주십시오. (1개만 준비하면 됩니다.)
- 생성시 Network (IPv4 CIDR block) 예:
192.168.0.0/27
,172.16.10.0/26
등
- 생성시 Network (IPv4 CIDR block) 예:
VM 2와 3에서 아래 과정을 반복 수행하십시오.
- 아래 PUBLIC_IP를 Control plane의 Public IP로 치환 하십시오.
- 아래 CLADNET_ID를 cb-network admin-web에서 발급 받은 ID로 치환 하십시오.
wget https://raw.githubusercontent.com/cloud-barista/cb-larva/v0.0.15/poc-cb-net/scripts/deploy-the-released-cb-network-agent.sh -O ~/deploy-the-released-cb-network-agent.sh
chmod +x ~/deploy-the-released-cb-network-agent.sh
source ~/deploy-the-released-cb-network-agent.sh '["PUBLIC_IP:2379"]' CLADNET_ID
- TBD