Skip to main content
Version: Next

For Cloud

contents

  1. Edge App Infra Login
  2. Helm Installation
  3. Download the Edge App Helm Chart
  4. Edge App Installation/Deletion/Update
  5. Use after verification on Edge Conductor  

1. Edge App Infra Login

  • To utilize the resources of the Edge App infrastructure, obtaining a key account is essential. Please contact the cloud administrator for the key.

  • Pre-installation of awscli, curl, kubectl

        sudo apt-get install awscli
    sudo apt-get install curl
    sudo curl -LO https://dl.k8s.io/release/v1.28.0/bin/linux/amd64/kubectl
    sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
  • AWS ECR login

        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
  • Environment setup

        aws eks update-kubeconfig --region ap-northeast-2 --name {AWS cluster name}
    kubectl config set-context --current --namespace={namespace}

2. Helm Installation

  • helm Installation
    sudo snap install helm --classic

3. Download the Edge App Helm Chart

  • Edge App Helm chart installation

    git clone https://github.com/mellerikat/Edge-App.git
  • Edge App Environment Setup (One-time Initial Configuration)

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

    (ex)

        helm install init ./setup-pacakge/edgeapp-setup-1.0.0.tgz -f example/aws-setup-for-each-namespace.yaml -n edge-app
  • Select and modify one example file according to your environment, then place it after the -f option

    • example/aws-setup-for-each-namespace.yaml
    • example/gcp-setup-for-each-namespace.yaml
    • example/wsl-setup-for-each-namespace.yaml
  • Files for configuring the environment necessary for Edge App operation, such as PV, RoleBind, etc. (aws example)

    # aws-setup-for-each-namespace.yaml
    global:
    is_aws: True #In case of AWS environment, set to True.
    cluster_set: True #If this is the initial repository setting, set to True.

    env:
    namespace: edge-app #k8s namespace
    serviceaccount: edge-app #k8s service account

    pv:
    pv_enable: True #If you want to save logs, set to True
    volumeHandle: {"storage name"} #Enter the name of the assigned repository

4. Edge App Installation/Deletion/Update

  • 1. Edge App Installation

    helm install [edgeapp name] ./edgeapp-package/edgeapp-manifest-[--version].tgz -f example/aws-edgeapp.yaml -n {namespace}

    (ex)

    helm install edgeapp-1 ./edgeapp-package/edgeapp-manifest-3.4.1.tgz -f example/aws-edgeapp-1.yaml -n edge-app
    helm install edgeapp-2 ./edgeapp-package/edgeapp-manifest-3.4.1.tgz -f example/aws-edgeapp-2.yaml -n edge-app
    • Select and modify one example file according to your environment, then include it after the -f option

      • example/aws-edgeapp.yaml
      • example/gcp-edgeapp.yaml
      • example/wsl-edgeapp.yaml
    • A file that stores the user/infrastructure information of Edge App

        # example/aws-edgeapp.yaml
    env:
    type: aws #Installation environment
    cluster: eks-an2-meerkat-dev-eks-master #Installation cluster
    edgeapp_node: ng-an2-meerkat-ws-edge-app-t3-medium #ec2 node for edgeapp
    # To perform inference using GPU, you need to register a GPU node
    alo_node: ng-an2-edgeapp-meerkat-standard #inference node
    alo_memory: 6500Mi #memory for inference
    storage: s3-an2-meerkat-dev-meerkat #storage
    #ECR image address
    controller_image_address: 339713051385.dkr.ecr.ap-northeast-2.amazonaws.com/mellerikat/release/edge-app/amd/controller:[--version]
    iomanager_image_address: 339713051385.dkr.ecr.ap-northeast-2.amazonaws.com/mellerikat/release/edge-app/amd/iomanager:[--version]
    redis_image_address: 339713051385.dkr.ecr.ap-northeast-2.amazonaws.com/ecr-repo-an2-meerkat-dev/edgeapp/amd/redis:v7.2.3
    namespace: edge-app #k8s namespace
    serviceaccount: edge-app #k8s service account

    pv:
    pv_enable: True #Log saving option

    conductor:#edge conductor info
    host: edgecond.meerkat-dev.com #If the Edge App and Edge Conductor are installed on the same Kubernetes cluster, the Kubernetes service DNS address can be used instead of a URL.
    http_protocol: https
    port: 443
    wsprotocol: wss

    appinfo:
    data_input_path: edgeapp_test/input #data input path
    data_ouput_path: edgeapp_test/output #Inference output path
    data_input_policy: copy #'move','copy' #data input policy
    data_save_policy: add_utc #'overwrite','add_utc','add_date' #data saving policy
    enable_result_to_edgecond: True #Send results via edge conductor
    Note: aws-test-edgeapp #Additional notes
  • 4.Edge App deletion

    helm uninstall [edgeapp name] -n {namespace}

    (ex)

    helm uninstall example1
    helm uninstall example2
  • 5.Update Helm configuration information

    helm upgrade [edgeapp name] ./edgeapp-package/edgeapp-manifest-[--version].tgz -n {namespace}
  • 6. Alo deletion

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

5. Use after verification on Edge Conductor

  • "Verify that the edge installed by the user is visible on the Edge Conductor."
    • ex) {edgetest} -> {serail-number}{edgetest}