本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 systemd 部署 Hub SDK
重要
請遵循 release.tgz 檔案readme.md
hubSystemdSetup
目錄中的 以取得最新的更新。
本節說明在 Linux 型中樞裝置上部署和設定服務的指令碼和程序。
概觀
部署程序包含兩個主要指令碼:
-
copy_to_hub.sh
:在主機電腦上執行 ,將必要的檔案複製到中樞 -
setup_hub.sh
:在中樞上執行 以設定環境和部署服務
此外, 會systemd/deploy_iotshd_services_on_hub.sh
處理程序引導序列和程序許可管理,並由 自動觸發setup_hub.sh
。
先決條件
成功部署需要列出的先決條件。
中樞提供 systemd 服務
中樞裝置的 SSH 存取
中樞裝置上的 Sudo 權限
scp
主機機器上安裝的 公用程式sed
主機機器上安裝的 公用程式主機機器上安裝的 unzip 公用程式
檔案結構
檔案結構旨在促進其各種元件的組織和管理,從而實現內容的高效存取和導覽。
hubSystemdSetup/ ├── README.md ├── copy_to_hub.sh ├── setup_hub.sh ├── iotshd_config.json # Sample configuration file ├── local_certs/ # Directory for DHA certificates └── systemd/ ├── *.service.template # Systemd service templates └── deploy_iotshd_services_on_hub.sh
在 SDK 版本 tgz 檔案中,整體檔案結構為:
IoT-managed-integrations-Hub-SDK-aarch64-v1.0.0.tgz ├──package/ ├──greengrass/ ├──artifacts/ ├──recipes/ ├──hubSystemdSetup/ ├── REAME.md ├── copy_to_hub.sh ├── setup_hub.sh ├── iotshd_config.json # Sample configuration file ├── local_certs/ # Directory for DHA certificates └── systemd/ ├── *.service.template # Systemd service templates └── deploy_iotshd_services_on_hub.sh
初始設定
解壓縮 SDK 套件
tar -xzf managed-integrations-Hub-SDK-vVersion
-linux-aarch64-timestamp
.tgz
導覽至擷取的目錄並準備套件:
# Create package.zip containing required artifacts zip -r package.zip package/greengrass/artifacts # Move package.zip to the hubSystemdSetup directory mv package.zip ../hubSystemdSetup/
新增裝置組態檔案
請依照列出的兩個步驟建立裝置組態檔案,並將其複製到中樞。
將檔案複製到中樞
從主機機器執行部署指令碼:
chmod +x copy_to_hub.sh ./copy_to_hub.shhub_ip_address
package_file
範例
./copy_to_hub.sh 192.168.50.223 ~/Downloads/EAR3-package.zip
這會複製:
套件檔案 (重新命名為中樞上的 package.zip)
組態檔案
憑證
系統化服務檔案
設定中樞
複製檔案後,SSH 會進入中樞並執行設定指令碼:
ssh hub@hub_ip
chmod +x setup_hub.sh
sudo ./setup_hub.sh
使用者和群組組態
根據預設,我們使用 SDK 元件的使用者中樞和群組中樞。有多種設定方式:
-
使用自訂使用者/群組:
sudo ./setup_hub.sh --user=
USERNAME
--group=GROUPNAME
-
在執行設定指令碼之前手動建立它們:
sudo groupadd -f
GROUPNAME
sudo useradd -r -gGROUPNAME
USERNAME
-
在 中新增命令
setup_hub.sh
。
管理 服務
若要重新啟動所有 服務,請從中樞執行下列指令碼:
sudo /usr/local/bin/deploy_iotshd_services_on_hub.sh
設定指令碼將建立必要的目錄、設定適當的許可,以及自動部署 服務。如果您不是使用 SSH/SCP,則必須copy_to_hub.sh
針對特定部署方法修改 。在部署之前,請確定所有憑證檔案和組態都已正確設定。