For Cloud
contents
- Edge App Infra Login
- Helm Installation
- Download the Edge App Helm Chart
- Edge App Installation/Deletion/Update
- 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}