For Linux
목차
1. Linux Provisioning
-
Edge App infra의 자원들을 이용하 기 위해 key 계정의 확보가 필수 입니다 (클라우드 관리자에게 Key를 문의해 주세요)
-
Edge App Helm chart 설치
git clone https://github.com/mellerikat/Edge-App.git
-
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 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
3. 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-1 ./edgeapp-package/edgeapp-manifest-3.7.0.tgz -f example/linux-edgeapp-1.yaml -n default
-
환경에 따라 맞는 하나의 예제파일을 선택해서 수정후 -f 옵션 뒤에 넣는다
- example/linux-edgeapp.yaml
-
엣지앱의 사용자/인프라 정보를 저장하는 파일
# linux-edgeapp.yaml ->linux edgeapp + cloud edgeconductor
env:
type: linux
cluster: k3s
controller_image_address: 339713051385.dkr.ecr.ap-northeast-2.amazonaws.com/mellerikat/release/edge-app/amd/controller:3.7.0-rc.1
iomanager_image_address: 339713051385.dkr.ecr.ap-northeast-2.amazonaws.com/mellerikat/release/edge-app/amd/iomanager:3.7.0-rc.1
redis_image_address: 339713051385.dkr.ecr.ap-northeast-2.amazonaws.com/mellerikat/release/edge-app/amd/redis:v7.2.3
namespace: default
serviceaccount: edge-app
ecr:
token_renewable: true
image_host: https://339713051385.dkr.ecr.ap-northeast-2.amazonaws.com
pv:
pv_enable: True
conductor:
host: edgecond.mellerikat-dev.com
http_protocol: https
port: 443
wsprotocol: wss
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
host_path: /home
cronjob:
suspend: true
base_image: 339713051385.dkr.ecr.ap-northeast-2.amazonaws.com/mellerikat/release/edge-app/amd/alpine/k8s:1.30.12
edgeapp_cronjob_ecr_secret: edgeapp-cronjob-ecr-secret-helm
ecr_token_command: |
aws ecr get-login-password --region ap-northeast-2 && \
kubectl delete secret --ignore-not-found {edgeapp_cronjob_ecr_secret} -n {namespace} && \
kubectl create secret docker-registry {edgeapp_cronjob_ecr_secret} --docker-server={image_host} --docker-username=AWS --docker-password=$(aws ecr get-login-password --region ap-northeast-2) --namespace={namespace} -
-
2.edgeapp 삭제
helm uninstall [edgeapp name]
(ex)
helm uninstall example1
helm uninstall example2 -
3. Alo삭제
kubectl delete pod [alo pod name] -n {namespace}
4. Cloud Edge Conductor 상에서 확인 후 사용
- 엣지 컨덕터상에서 사용자가 설치한 엣지가 보이는지 확인한다
- ex) {edgetest} -> {serail-number}{edgetest}