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

For Linux with Edge Conductor On-Premise Server

목차

  1. Linux Provisioning
  2. Edge App 압축파일 다운로드
  3. Edge App Helm Chart 다운로드 및 환경구성
  4. Edge App 설치/업데이트/삭제
  5. Edge Conductor 상에서 확인 후 사용
  6. 설치 되었는데 stream 배포가 안되는 경우

1. Linux Provisioning

  • Edge App Helm chart 설치

    git clone https://github.com/mellerikat/Edge-App.git
  • Edge App infra의 자원들을 이용하기 위해 key 계정의 확보가 필수 입니다 (클라우드 관리자에게 Key를 문의해 주세요)

  • insecure-ip 정보를 on-prem-edgecond-ip.yaml파일에 입력한다

    10.158.2.243:39011
  • linux provisioning shell 실행

    ./linux_provisioning.sh
  • AWS ECR 로그인

        aws configure set aws_access_key_id {"AWS Access Key"}
    aws configure set aws_secret_access_key  {"AWS Secret Access Key"}
    aws configure set default.region  {"region"}
    aws ecr get-login-password --region {region}| sudo docker login --username AWS --password-stdin {AWS Account ID}.dkr.ecr.{region}.amazonaws.com

2. Edge App 압축파일 다운로드

  • Edgeapp.tar 파일을 다운 받는다
  • tar파일에는 controller,iomanager,redis,viewer 총 4개의 컨테이너 이미지가 들어있다
    edgeapp.tar
  • 압축을 풀어서 생성된 각 tar파일을 압출을 풀고 load한다
    docker load -i edgeapp.tar

3. Edge App Helm Chart 다운로드 및 환경구성

  • Edge App 환경 구성(최초 1회 )

    helm install init ./setup-pacakge/edgeapp-setup-[--version].tgz-f [namespace_setting_file] -n {namespace}

    (ex)

    helm install init ./setup-pacakge/edgeapp-setup-1.0.0.tgz -f example/linux-setup-for-each-namespace.yaml -n edge-app
  • 환경에 따라 맞는 하나의 예제파일을 선택해서 수정후 -f 옵션 뒤에 넣는다

    • example/linux-setup-for-each-namespace.yaml
  • 저장소, Rolebind 등 엣지앱이 동작위한 환경 설정을 위한 파일 (linux 예시)

    global:
    is_linux: True

    env:
    namespace: default
    serviceaccount: edge-app

    pv:
    pv_enable: True

4. Edge App 설치/업데이트/삭제

  • 1. Edge App 설치 및 업데이트

    source ./linux-install.sh [edgeapp name] ./edgeapp-package/edgeapp-manifest-[--version].tgz example/linux-edgeapp.yaml -n {namespace}

    (ex)

    helm install edgeapp ./edgeapp-package/edgeapp-manifest-3.7.0.tgz -f example/linux-edgeapp.yaml -n default
    • 환경에 따라 맞는 하나의 예제파일을 선택해서 수정후 -f 옵션 뒤에 넣는다

      • example/linux-onpremise-edgeapp.yaml
    • 엣지앱의 사용자/인프라 정보를 저장하는 파일

        # linux-onpremise-edgeapp.yaml + on-premise edgeconductor
    env:
    type: linux
    cluster: k3s
    controller_image_address: controller:3.7.0
    iomanager_image_address: iomanager:3.7.0
    redis_image_address: redis:v7.2.3
    namespace: default
    serviceaccount: edge-app


    pv:
    pv_enable: True

    conductor:
    host: 10.158.2.243
    http_protocol: http
    port: 39008
    wsprotocol: ws
    insecure_ip: 10.158.2.243:39011

    appinfo:
    data_input_path: linux_test/input
    data_output_path: linux_test/output
    data_input_policy: copy #'move','copy'
    data_save_policy: add_utc #'overwrite','add_utc','add_date'
    enable_result_to_edgecond: True
    Note: linux-edgeapp-test
    mount_path: /home


  • 2.edgeapp 삭제

    helm uninstall [edgeapp name]

    (ex)

    helm uninstall example1
    helm uninstall example2
  • 3. Alo삭제

    kubectl delete pod [alo pod name] -n {namespace}

5. On-Premise Edge Conductor 상에서 확인 후 사용

  • 엣지 컨덕터상에서 사용자가 설치한 엣지가 보이는지 확인한다
    • ex) {edgetest} -> {serail-number}{edgetest}

6. 설치 되었는데 stream 배포가 안되는 경우

  • daemon.json 파일 열기
sudo vi /etc/docker/daemon.json
  • daemon.json 파일 수정(아래 내용 직접 입력 및 저장)
{
"insecure-registries": [
"10.158.2.243:39011"
]
}
  • docker daemon 재시작
sudo systemctl restart docker