-
Notifications
You must be signed in to change notification settings - Fork 8
Install based on container
Yunkon (Alvin) Kim edited this page Jul 6, 2022
·
3 revisions
cb-network system의 컴포넌트를 설치 및 구동하기 위한 가이드 입니다. (버전: v0.0.15)
cb-network system의 네트워크 제어 영역(Control plane)을 컨테이너 기반으로 구동하는 방법에 대하여 설명 합니다. 데이터 영역(Data plane)은 pre-built binary를 통해 구동 됩니다.
- Control plane 컴포넌트:
- cb-network controller,
- cb-network service,
- cb-network admin-web
- Data plane 컴포넌트:
- cb-network agent
비고 - 각 컴포넌트는 독립된 노드(PC, VM, 등)에서 구동 가능합니다. 본 가이드 에서는 복잡한 설명을 생략하고자 Control plane 컴포넌트를 한 노드에 구성했습니다.
cb-network system의 각 컴포넌트를 설치하기 전에, 아래 사항을 참고하십시오.
- VM 1: Control plane 컴포넌트 설치 및 구동
- VM 2, 3: Data plane 컴포넌트 설치 및 구동
- 외부에 있는 cb-network agent가 Control plane에 연결/접속하기 위한 Public IP를 필요로 합니다. VM 1의 Public IP를 확인해 주십시오.
- 방화벽/Security Group 설정에서 Ports used in CB-Larva의 포트를 오픈해 주십시오.
wget -qO- get.docker.com | sh
sudo docker -version
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo docker-compose --version
- On Ubuntu
sudo apt update -y
sudo apt install git unzip vim -y
비고 - Public container registry에 v0.0.15에 해당하는 컨테이너 이미지가 없습니다. 소스코드를 기반으로 컨테이너 이미지를 빌드합니다.
아래 두 가지 방법 중 선호하는 방식으로 진행 할 수 있습니다.
- 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
mkdir -p container-volume/cb-network/config
mkdir -p container-volume/cb-network/etcd
sudo cp ~/cb-larva/poc-cb-net/config/template-config.yaml ~/cb-larva/container-volume/cb-network/config/config.yaml
sudo cp ~/cb-larva/poc-cb-net/config/template-log_conf.yaml ~/cb-larva/container-volume/cb-network/config/log_conf.yaml
container간 통신을 위해 localhost
를 각 서비스 이름으로 변경 바랍니다. (참고: docker-compose.yaml)
cd ~/cb-larva/container-volume/cb-network/config
vim config.yaml
참고:
# A config for an etcd cluster (required for all cb-netwwork components):
etcd_cluster:
endpoints: [ "cb-network-etcd:2379" ]
# A config for the cb-network service and cb-network admin-web as follows:
service:
endpoint: "cb-network-service:8053"
port: "8053"
# A config for the cb-network admin-web as follows:
admin_web:
host: "cb-network-admin-web"
port: "8054"
(생략)
sudo docker-compose build --parallel
sudo docker-compose up
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