共用方式為


在 Ubuntu 虛擬機器上執行 Azure IoT Edge

適用於:IoT Edge 1.5 複選標記 IoT Edge 1.5 IoT Edge 1.4 複選標記 IoT Edge 1.4

重要

支援 IoT Edge 1.5 LTS 和 IoT Edge 1.4 LTS 版本。 IoT Edge 1.4 LTS 於 2024 年 11 月 12 日結束生命週期。 如果您是舊版,請參閱更新 IoT Edge

Azure IoT Edge 執行階段是將裝置轉換成 IoT Edge 裝置的功能。 可在小至 Raspberry Pi、大至工業伺服器的裝置上部署執行階段。 在裝置上設定 IoT Edge 執行階段後,就可以開始從雲端將商務邏輯部署到裝置上。

若要深入了解 IoT Edge 執行階段的運作方式,以及會包含哪些元件,請參閱了解 Azure IoT Edge 執行階段及其架構

本文列出使用預先提供裝置安裝及設定的 Azure IoT Edge 運行時間部署 Ubuntu 虛擬機的步驟 連接字串。 部署是使用 cloud-initAzure Resource Manager 範本來完成,而此範本是在 iotedge-vm-deploy 專案存放庫中維護。

在第一次開機時,虛擬機器會透過 cloud-init 安裝最新版的 Azure IoT Edge 執行階段。 其也會在執行階段啟動之前設定提供的連接字串,讓您輕鬆設定和連線 IoT Edge 裝置,而不需要啟動 SSH 或遠端桌面工作階段。

使用部署至 Azure 按鈕進行部署

部署至 Azure 按鈕可讓您簡化部署 GitHub 上維護的 Azure Resource Manager 範本。 本節示範 iotedge-vm-deploy 專案存放庫中所含的部署至 Azure 按鈕的使用方式。

  1. 您將使用 iotedge-vm-deploy Azure Resource Manager 範本來部署已啟用 Azure IoT Edge 的 Linux VM。 若要開始,請選取下列按鈕:

    iotedge-vm-deploy 的 [部署至 Azure] 按鈕

  2. 在新啟動的視窗上,填入可用的表單欄位:

    顯示 iotedge-vm-deploy 範本的螢幕擷取畫面

    欄位 描述
    訂用帳戶 要在其中部署虛擬機器的作用中 Azure 訂用帳戶。
    資源群組 現有或新建立的資源群組,其中包含虛擬機器及其相關聯的資源。
    區域 要在其中部署虛擬機器的地理區域,此值預設為所選資源群組的位置。
    DNS 標籤首碼 您選擇的必要值,用來為虛擬機器的主機名稱加上前置詞。
    系統管理員使用者名稱 提供部署根許可權的用戶名稱。
    裝置連接字串 在您預定 IoT 中樞內所建立裝置的裝置連接字串
    VM 大小 要部署的虛擬機器大小
    Ubuntu OS 版本 要安裝在基礎虛擬機器上的 Ubuntu 作業系統版本。
    驗證類型 選擇 [sshPublicKey] 或 [密碼],取決於您的喜好設定。
    系統管理員密碼或金鑰 SSH 公開金鑰的值或密碼的值,取決於選擇的驗證類型。

    選取 Next : Review + create 以檢閱條款,然後選取 [建立] 以開始部署。

  3. 確認部署已成功完成。 虛擬機資源會部署到選取的資源群組。 記下電腦名稱,其格式應為 vm-0000000000000。 此外,請記下相關聯的 DNS 名稱,其格式應該是 <dnsLabelPrefix>.<location>.cloudapp.azure.com。

    DNS 名稱可從 Azure 入口網站內新部署虛擬機器的 [概觀] 區段取得。

    顯示 iotedge VM DNS 名稱的螢幕快照

  4. 如果您想要在設定之後使用 SSH 來連線到此 VM,請使用相關聯的 DNS 名稱並搭配下列命令:ssh <adminUsername>@<DNS_Name>

從 Azure CLI 進行部署

  1. 請確定您已使用下列項目安裝 Azure CLI iot 擴充功能:

    az extension add --name azure-iot
    
  2. 接下來,如果您在桌面上使用 Azure CLI,請從登入開始:

    az login
    
  3. 如果您有多個訂用帳戶,請選取想要使用的訂用帳戶:

    1. 列出您的訂用帳戶:

      az account list --output table
      
    2. 複製想要使用的訂用帳戶 SubscriptionID 欄位。

    3. 使用您所複製的識別碼來設定工作訂用帳戶:

      az account set -s <SubscriptionId>
      
  4. 建立新的資源群組 (或在下一個步驟中指定現有的資源群組):

    az group create --name IoTEdgeResources --location westus2
    
  5. 建立新的虛擬機器:

    若要使用 passwordauthenticationType,請參閱下列範例:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \
    --parameters authenticationType='password' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
    

    若要使用 SSH 金鑰進行驗證,請指定 sshPublicKeyauthenticationType,然後在 adminPasswordOrKey 參數中提供 SSH 金鑰的值。 請參閱下列範例:

    #Generate the SSH Key
    ssh-keygen -m PEM -t rsa -b 4096 -q -f ~/.ssh/iotedge-vm-key -N ""
    
    #Create a VM using the iotedge-vm-deploy script
    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \
    --parameters authenticationType='sshPublicKey' \
    --parameters adminPasswordOrKey="$(< ~/.ssh/iotedge-vm-key.pub)"
    
  6. 確認部署已成功完成。 虛擬機資源應該部署到選取的資源群組中。 記下電腦名稱,其格式應為 vm-0000000000000。 此外,請記下相關聯的 DNS 名稱,其格式應該是 <dnsLabelPrefix>.<location>.cloudapp.azure.com。

    DNS 名稱可以從上一個步驟的 JSON 格式輸出中取得,其位於作為公用 SSH 項目一部分的 [輸出] 區段內。 此項目的值可以用來透過 SSH,連線到新部署的電腦。

    "outputs": {
      "public SSH": {
        "type": "String",
        "value": "ssh <adminUsername>@<DNS_Name>"
      }
    }
    

    您也可以在 Azure 入口網站中新部署的虛擬機器 [概觀] 區段取得 DNS 名稱

    顯示 iotedge VM DNS 名稱的螢幕快照

  7. 如果您想要在設定之後使用 SSH 來連線到此 VM,請使用相關聯的 DNS 名稱並搭配下列命令:ssh <adminUsername>@<DNS_Name>

下一步

現在您已佈建 IoT Edge 裝置並安裝執行階段,接下來您可以部署 IoT Edge 模組

如果您不確定 IoT Edge 執行階段是否已正確安裝,請參閱疑難排解頁面。

若要將現有安裝更新為最新版的 IoT Edge,請參閱更新 IoT Edge 安全性精靈和執行階段

如果您想要開啟埠以透過 SSH 或其他輸入連線來存取 VM,請參閱 Azure 虛擬機器 檔,以開啟 Linux VM 的埠和連接點。