본문으로 건너뛰기
버전: docs v25.02

On-Premise Server

Updated 2025.02.18

Edge Conductor는 Ubuntu 계열의 OS에서 설치 가능 합니다.

시작하기전에

On Premise에 Edge Conductor를 설치하기 위해서는 아래 Spec을 충족하여야 합니다.

운영체제

  • Ubuntu 20.04 LTS 이상

하드웨어 사양

  • CPU : 64비트 아키텍쳐, 최소 2GHz 이상, 멀티 코어 프로세서 권장
  • RAM : 최소 8GB (16GB 이상 권장)
  • 저장공간 : Docker, awscli 등 Tool 설치 포함 10GB 이상의 여유공간 (Edge Conductor Docker Image 크기 : 약2GB)

정확한 사양은 Edge App 에서 추론 데이터 전달 빈도 및 전송 파일 크기 그리고 Web 동시 접속 사용자 수에 영향을 받으며, Docker 환경에서 수행되는 Web 서비스 권장 사양 기반 데이터입니다.


설치하기

설치 및 실행은 아래 3단계를 가집니다.

install

  1. Download Installer
  2. Configure
  3. Run & Stop
  4. Clear

각 단계별 세부 가이드는 다음과 같습니다.

Download Installer

git clone https://github.com/mellerikat/Edge-Conductor.git

Mellerkikat github 로부터 Edge Conductor 버전별 설치 파일을 다운로드할 수 있습니다.

$ git clone https://github.com/mellerikat/Edge-Conductor.git
Cloning into 'Edge-Conductor'...
remote: Enumerating objects: 113, done.
remote: Counting objects: 100% (113/113), done.
remote: Compressing objects: 100% (94/94), done.
remote: Total 113 (delta 11), reused 46 (delta 5), pack-reused 0
Receiving objects: 100% (113/113), 88.51 KiB | 3.69 MiB/s, done.
Resolving deltas: 100% (11/11), done.
$ cd Edge-Conductor/deploy/sh-script/
$ tree .
.
├── sh-script-2.2.0-build2_linux.tar.gz
└── sh-script-2.2.1_linux.tar.gz

설치하고자 하는 (혹은 업데이트하고자 하는) Edge Conductor 버전의 압축파일을 풀어줍니다.

$ tar xvf sh-script-2.2.1_linux.tar.gz
$ tree .
.
├── deploy
│ └── sh-script
│ ├── config
│ ├── docker-compose.yml
│ ├── edgecond.sh
│ ├── env
│ ├── README.md
│ ├── scripts
│ │ ├── clear.sh
│ │ ├── common.sh
│ │ ├── configure.sh
│ │ ├── envsetup.sh
│ │ ├── run-advanced.sh
│ │ ├── run-basic.sh
│ │ ├── run-standard.sh
│ │ └── update.sh
│ └── tag

설치 파일에 포함되어 있는 edgecond.sh 파일을 활용하여 configure, run, stop, clear 명령어를 수행합니다.



Configure

sudo ./edgecond.sh configure --registry {{registry}} --access_key {{access-key}} --secret_key {{secret-key}}

configure 단계를 통해서, 설치서버에 Edge Conductor 실행 환경을 구축합니다.

Edge Conductor 실행에 필요한 도커이미지를 Mellerikat Cloud ECR으로부터 다운로드 받으며, 사용자는 실행에 필요한 설정값들을 입력해야합니다.

configure 명령어 실행에 필요한 파라미터는 다음과 같으며, 도커이미지가 저장되어 있는 Mellerikat ECR에 대한 정보 및 접근 권한 정보입니다.

  • registry : Edge Conductor Docker Images 저장되어 있는 Mellerikat Cloud ECR 정보 (856124245140.dkr.ecr.ap-northeast-2.amazonaws.com)
  • access-key : ECR 접근위한 AWS Credentials Access Key 정보
  • secret-key : ECR 접근위한 AWS Credentials Secret Key 정보

configure 단계에 진입하게 되면 Edge Conductor 실행에 필요한 프로그램들이 설치 및 서비스 계정이 생성됩니다.

마지막 단계에서 사용자는 아래 설정값들을 입력해야하며, 입력 인터페이스는 다음과 같습니다.

설정값이름 [기본설정값] 사용자입력값

사용자입력값 없이 기본설정값을 사용하고자 하는 경우에는 엔터를 입력합니다.

서비스 실행에 필수로 필요한 항목은 사용자가 반드시 입력할 수 있도록 요구합니다. (*표시 항목)

# A name is assigned to the service being installed
# The Docker container name will be generated based on the assigned name
COMPOSE_PROJECT_NAME [(id -nu)]

# Enter the MYSQL information
MYSQL_HOST [10.158.2.243]
*MYSQL_PSWD []
SQLALCHEMY_POOL_MAX_OVERFLOW [10]
SQLALCHEMY_POOL_SIZE [5]

# Enter the backend server configuration values
SERVER_PROTOCOL [http]
LDAP_HOST []

# Set the JWT key value to encrypt sensitive data stored in MYSQL
JWT_SECRET [99434768691b08cfdf9ddf46856a60687f4b7fe4e4346376090a0bd0ac439bdc]
LOGGING_LEVEL [INFO]
LOGGING_ROTATE [0:00]
LOGGING_COUNT [90]
WEBHOOK_TEAMS []

# Send system statistical data to the summary server
# Assign a name to the Conductor installed in the WORKSPACE(a unique name value for the summary server) and set the URL of the summary server to which data will be sent
WORKSPACE [(id -nu)]
DAILY_SUMMARY_SERVER_URL [https://0.0.0.0]

# Define the credentials values for integrating with AWS Cloud
# Instead of using Access/Secret keys, you can utilize Vault, and you can set the Private Interface Endpoint URL (LG Magna)
VAULT_TOKEN []
VAULT_CATOZ []
VAULT_NAMESPACE []

*AWS_ACCESS_KEY []
*AWS_SECRET_KEY []
AWS_INTERFACE_ENDPOINT_STS []
AWS_INTERFACE_ENDPOINT_S3 []
AWS_INTERFACE_ENDPOINT_ECR_API []

# By defining the repositories for the Edge App Docker, you can utilize the Edge App update feature (planned for removal)
APP_DOCKER_REPOSITORIES [[]]

UPDATE_CENTER_URL []

BACKEND_CORS_ORIGINS ["http://localhost:38091", "http://10.158.2.243:38091"]

Note:

Edge Conductor 내부적으로 실행되는 컨테이너 서비스 종류 및 오픈되는 포트정보(기본값)는 다음과 같습니다.

  • MYSQL_PORT : 39000
  • FRONTEND_PORT : 39002
  • BACKEND_PORT : 39003
  • PRIVATE_DOCKER_REGISTRY_PORT : 39004
  • CELERY_FLOWER_PORT : 39005


Run

sudo ./edgecond.sh run

configure 단계에서 설정된 실행환경의 env 및 도커 이미지를 통해서 컨테이너를 실행합니다.

$ sudo ./edgecond.sh run
[+] Running 6/8
[+] Running 7/8-edge-conductor_default Created 0.1s
[+] Running 8/8-edge-conductor_default Created 0.1s
✔ Network edge-conductor_default Created 0.1s
✔ Container aiadvisor-edge_conductor-mysql-1121-edge-conductor Started 0.7s
✔ Container aiadvisor-edge_conductor-redis-1121-edge-conductor Started 0.4s
✔ Container aiadvisor-edge_conductor-registry-1121-edge-conductor Started 0.7s
✔ Container aiadvisor-edge_conductor-celery-1121-edge-conductor Started 0.9s
✔ Container aiadvisor-edge_conductor-flower-1121-edge-conductor Started 1.3s
✔ Container aiadvisor-edge_conductor-backend-1121-edge-conductor Started 1.3s
✔ Container aiadvisor-edge_conductor-frontend-1121-edge-conductor Started


Stop

sudo ./edgecond.sh stop

관리자는 stop 명령어를 통해서 도커 컨테이너를 내릴수 있습니다.

$ sudo ./edgecond.sh stop
stop...
[+] Running 8/8
✔ Container aiadvisor-edge_conductor-mysql-1121-edge-conductor Removed 0.7s
✔ Container aiadvisor-edge_conductor-redis-1121-edge-conductor Removed 0.4s
✔ Container aiadvisor-edge_conductor-registry-1121-edge-conductor Removed 0.7s
✔ Container aiadvisor-edge_conductor-celery-1121-edge-conductor Removed 0.9s
✔ Container aiadvisor-edge_conductor-flower-1121-edge-conductor Removed 1.3s
✔ Container aiadvisor-edge_conductor-backend-1121-edge-conductor Removed 1.3s
✔ Container aiadvisor-edge_conductor-frontend-1121-edge-conductor Removed
✔ Network edge-conductor_default Removed 0.1s

Note:

edgecond stop 통해 멈추어진 서비스 컨테이너들은 edgecond run 통해서 다시 시작 가능합니다.



Clear

sudo ./edgecond.sh clear

Clear 명령어는 On-Premise에서 설치되어 있는 Edge Conductor 실행환경을 초기화합니다.

Edge Conductor Docker Images, 서비스 계정 그리고 서비스에 사용되었던 파일시스템 및 DB 내용들을 삭제합니다.

edgecond clear 명령어 전에 edgecond stop 명령어를 통해서 서비스 컨테이너를 정상적으로 내리기를 권장합니다.

$ sudo ./edgecond.sh clear

Clear...
All saved data will be deleted. Do you want to continue? (y/n) y
wait...
Warning: No resource found to remove for project "edgecond".
...

Done.