Node simulator

將node simulator build成image部屬至k8s環境上,提供壓力測試時使用

Build image & deploy步驟

  • 在55/57環境上,先將WISEPaaS.DataHub.Nodejs.EdgeSimulator專案clone下來,並切換至simulator-1.0.1 branch

sudo git clone https://gitlab.wise-paas.com/DataHub/WISEPaaS.DataHub.Nodejs.EdgeSimulator.git
sudo git checkout simulator-1.0.1
  • 在WISEPaaS.DataHub.Nodejs.EdgeSimulator資料夾下,clone WISEPaaS.DataHub.Edge.Nodejs.SDK,並切換至simulator-1.0.1 branch

sudo git clone https://gitlab.wise-paas.com/DataHub/WISEPaaS.DataHub.Edge.Nodejs.SDK.git
sudo git checkout simulator-1.0.1
  • package.json我已經預設為:"wisepaas-scada-edge-nodejs-sdk": "file:WISEPaaS.DataHub.Edge.Nodejs.SDK"

  • 執行以下指令,build image & push to habor

flag="harbor.arfa.wise-paas.com/datahub-dev/datahub-performer:1.0.0" \
&& sudo docker build -t=$flag --no-cache=true -f="./dockerfile" . \
&& sudo docker push $flag
  • 在本機端註冊helm repo,可以參考datahub k8s deploy註冊的方式點此連結

  • 將WISEPaaS.DataHub.Nodejs.EdgeSimulator clone下來,使用專案目錄下的charts資料夾中的chart進行helm chart部屬

  • 配置helm chart中的values.yaml,會需要修改的參數只有以下這幾個

  • 修改玩values.yaml檔後,在Wise-Paas\WISEPaaS.SCADA.Nodejs.EdgeSimulator目錄下執行

helm install node-simulator ./charts

*helm install [欲部屬的deploy名稱] [charts資料夾與現在路徑的相對路徑]

連進node-simulator pod進行壓測使用說明

  • 使用kubectl get pod指令取得部屬的pod list,找到node-simulator部屬的pod name,範例如下

  • 在command line下kubectl exec -it [pod name] /bin/bash指令如下,就可以連進去node-simulator的container內部

kubectl exec -it node-simulator-5bbd946bb7-kc68l /bin/bash
  • 連進container後,在command line下ls指令,可以看到下圖中node-simulator的目錄結構

ls
  • 接著對setting.json進行配置,利用setting.sh用指令的方式幫你修改setting.json的內容,setting.sh的指令參數如下

//以下參數對應setting.json中的參數
host="" //對應mqttHost
port=1883 //對應mqttPort
username="" //對應mqttUserName
password="" //對應mqttPassword
scadaNums=1 //對應scadaNumbers
deviceNums=1 //對應deviceNumbers
tagNums=75 //對應tagNumbers
timeInterval=1000 //對應publishIntervalTime
exeTime=86400 //對應exectionTime,若為0則不停止
useSame=false //對應isUseSame
  • 指令格式: ./setting.sh paramName1=value1 paramName2=value2 paramName3=value3 ... *可以任選上面的參數填入想修改的值,(意思是可以全部都填,也可以選擇想改的參數填入就好),以下兩種範例都舉例

./setting.sh host="rabbitmq-001-pub.sa.wise-paas.com" port=1883 username="03bdd820-4d47-40a2-9aff-85613c201b58:61734256-adfet-477f-9b3f-fswerwerad" password="aqetdfhwehqwthlqw" scadaNums=100 deviceNums=1 tagNums=1000 timeInterval=1000 useSame=false
./setting.sh host="rabbitmq-001-pub.sa.wise-paas.com" scadaNums=100 deviceNums=10
  • 執行完畢後會顯示修改的內容,如下圖

  • 若修改正確執行node index.js啟動模擬,若修改不正確回上一步重新執行修改

node index.js //執行模擬

Last updated