Skip to content

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 ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•œ ๋…ธ๋“œ์— ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•„์š”์กฐ๊ฑด(Requirements)

cb-network system์˜ ๊ฐ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์ „์—, ์•„๋ž˜ ์‚ฌํ•ญ์„ ์ฐธ๊ณ ํ•˜์‹ญ์‹œ์˜ค.

1. VM 3๋Œ€ ์ค€๋น„

  • VM 1: Control plane ์ปดํฌ๋„ŒํŠธ ์„ค์น˜ ๋ฐ ๊ตฌ๋™
  • VM 2, 3: Data plane ์ปดํฌ๋„ŒํŠธ ์„ค์น˜ ๋ฐ ๊ตฌ๋™

2. Public IP ์กฐํšŒ ๋ฐ ๋ฐฉํ™”๋ฒฝ ์˜คํ”ˆ

  • ์™ธ๋ถ€์— ์žˆ๋Š” cb-network agent๊ฐ€ Control plane์— ์—ฐ๊ฒฐ/์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ Public IP๋ฅผ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค. VM 1์˜ Public IP๋ฅผ ํ™•์ธํ•ด ์ฃผ์‹ญ์‹œ์˜ค.
  • ๋ฐฉํ™”๋ฒฝ/Security Group ์„ค์ •์—์„œ Ports used in CB-Larva์˜ ํฌํŠธ๋ฅผ ์˜คํ”ˆํ•ด ์ฃผ์‹ญ์‹œ์˜ค.

3. Docker ์„ค์น˜ on VM 1

wget -qO- get.docker.com | sh
sudo docker -version

4. Docker-compose ์„ค์น˜ on VM 1

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

Control plane ์ปดํฌ๋„ŒํŠธ ๊ตฌ๋™

1. ํŒจํ‚ค์ง€/๋„๊ตฌ ์„ค์น˜

  • On Ubuntu
sudo apt update -y
sudo apt install git unzip vim -y

2. ์†Œ์Šค์ฝ”๋“œ ๊ฐ€์ ธ์˜ค๊ธฐ

๋น„๊ณ  - 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

3. Volume ๋ฐ ์„ค์ •ํŒŒ์ผ ์ค€๋น„

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
config.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"

(์ƒ๋žต)

4. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋นŒ๋“œ

sudo docker-compose build --parallel

5. Control plane ์ปดํฌ๋„ŒํŠธ ์‹คํ–‰

sudo docker-compose up

Data plane ์ปดํฌ๋„ŒํŠธ ๊ตฌ๋™

Data plane ์ปดํฌ๋„ŒํŠธ๋Š” pre-built binary ๊ตฌ๋™์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค์ฝ”๋“œ ๊ธฐ๋ฐ˜ ๊ตฌ๋™ / ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ๊ตฌ๋™์‹œ ํ•„์š”ํ•œ ํˆด/ํŒจํ‚ค์ง€ ๋“ฑ์„ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์— ์„ค์น˜ํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•จ ์ž…๋‹ˆ๋‹ค.

1. ์ค€๋น„์‚ฌํ•ญ

  • ์‚ฌ์ „์— ์ค€๋น„๋œ VM 2์™€ 3์„ ํ™œ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
  • cb-network admin-web์— ์ ‘์†ํ•˜์—ฌ cladnet์„ ์ƒ์„ฑํ•˜๊ณ , ID๋ฅผ ์ค€๋น„ํ•ด ์ฃผ์‹ญ์‹œ์˜ค. (1๊ฐœ๋งŒ ์ค€๋น„ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.)
    • ์ƒ์„ฑ์‹œ Network (IPv4 CIDR block) ์˜ˆ: 192.168.0.0/27, 172.16.10.0/26 ๋“ฑ

2. cb-network agent ๊ตฌ๋™

VM 2์™€ 3์—์„œ ์•„๋ž˜ ๊ณผ์ •์„ ๋ฐ˜๋ณต ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค.

์ƒˆ๋กœ์šด ํ„ฐ๋ฏธ๋„ ์‹คํ–‰
VM ์ ‘์†
cb-network agent ์‹คํ–‰
  • ์•„๋ž˜ 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

Clone this wiki locally