Aracılığıyla paylaş


Ubuntu Sanal Makineler üzerinde Azure IoT Edge'i çalıştırma

Şunlar için geçerlidir: evet simgesi IoT Edge 1.1

Önemli

IoT Edge 1.1 destek sonu tarihi 13 Aralık 2022'ydi. Bu ürünün, hizmetin, teknolojinin veya API’nin nasıl desteklendiği hakkında bilgi edinmek için Microsoft Ürün Yaşam Döngüsü’ne göz atın. IoT Edge'in en son sürümüne güncelleştirme hakkında daha fazla bilgi için bkz . IoT Edge'i güncelleştirme.

Azure IoT Edge çalışma zamanı, bir cihazı IoT Edge cihazına dönüştürür. Çalışma zamanı Raspberry Pi kadar küçük veya endüstriyel bir sunucu kadar büyük cihazlara dağıtılabilir. Bir cihaz IoT Edge çalışma zamanıyla yapılandırıldığında, buluttan cihaza iş mantığını dağıtmaya başlayabilirsiniz.

IoT Edge çalışma zamanının nasıl çalıştığı ve hangi bileşenlerin dahil olduğu hakkında daha fazla bilgi edinmek için bkz . Azure IoT Edge çalışma zamanını ve mimarisini anlama.

Bu makalede, önceden sağlanan bir cihaz bağlantı dizesi kullanılarak Azure IoT Edge çalışma zamanı yüklü ve yapılandırılmış bir Ubuntu 18.04 LTS sanal makinesi dağıtma adımları listelenmiştir. Dağıtım, iotedge-vm-deploy proje deposunda tutulan cloud-init tabanlı bir Azure Resource Manager şablonu kullanılarak gerçekleştirilir.

İlk önyüklemede sanal makine , cloud-init aracılığıyla Azure IoT Edge çalışma zamanının en son sürümünü yükler. Ayrıca, çalışma zamanı başlamadan önce sağlanan bir bağlantı dizesi ayarlar ve SSH veya uzak masaüstü oturumu başlatmanıza gerek kalmadan IoT Edge cihazını kolayca yapılandırmanıza ve bağlamanıza olanak tanır.

Azure'a Dağıt Düğmesi'ni kullanarak dağıtma

Azure'a Dağıt Düğmesi, GitHub'da tutulan Azure Resource Manager şablonlarının kolay dağıtılmasını sağlar. Bu bölümde iotedge-vm-deploy proje deposunda yer alan Azure'a Dağıt Düğmesinin kullanımı gösterilir.

  1. iotedge-vm-deploy Azure Resource Manager şablonunu kullanarak Azure IoT Edge özellikli bir Linux VM dağıtacağız. Başlangıç olarak aşağıdaki düğmeye tıklayın:

    iotedge-vm-deploy için Azure Düğmesini dağıtma

  2. Yeni başlatılan pencerede, kullanılabilir form alanlarını doldurun:

    iotedge-vm-deploy şablonunu gösteren ekran görüntüsü

    Alan Açıklama
    Abonelik Sanal makinenin dağıtılacağı etkin Azure aboneliği.
    Kaynak grubu Sanal makineyi ve ilişkili kaynakları içeren mevcut veya yeni oluşturulmuş bir Kaynak Grubu.
    Bölge Sanal makinenin dağıtılacağı coğrafi bölge , bu değer varsayılan olarak seçili Kaynak Grubunun konumudur.
    DNS Etiketi Ön Eki Seçtiğiniz, sanal makinenin ana bilgisayar adının ön ekini oluşturmak için kullanılan gerekli bir değerdir.
    Yönetici Kullanıcı Adı Dağıtımda kök ayrıcalıkları sağlanacak bir kullanıcı adı.
    Cihaz Bağlantı Dizesi Cihaz, hedeflenen IoT Hub'ınız içinde oluşturulmuş bir cihaz için bağlantı dizesi.
    VM Boyutu Dağıtılacak sanal makinenin boyutu .
    Ubuntu İşletim Sistemi Sürümü Temel sanal makineye yüklenecek Ubuntu işletim sisteminin sürümü.
    Kimlik Doğrulaması Türü Tercihinize bağlı olarak sshPublicKey veya parola'yı seçin.
    Yönetici Parolası veya Anahtarı SSH Ortak Anahtarının değeri veya Kimlik Doğrulama Türü seçimine bağlı olarak parolanın değeri.

    Tüm alanlar doldurulduğunda, koşulları gözden geçirebileceğiniz yere gitmek Next : Review + create için alttaki düğmeye tıklayın ve dağıtımı başlatmak için Oluştur'a tıklayın.

  3. Dağıtımın başarıyla tamamlandığını doğrulayın. Seçilen kaynak grubuna bir sanal makine kaynağı dağıtılmış olmalıdır. Makine adını not alın, bu biçiminde vm-0000000000000olmalıdır. Ayrıca ilişkili DNS Adı’nı da not alın; bu ad <dnsLabelPrefix>.<location>.cloudapp.azure.com biçiminde olmalıdır.

    DNS Adı, Azure portalında yeni dağıtılan sanal makinenin Genel Bakış bölümünden alınabilir.

    iotedge vm'sinin dns adını gösteren ekran görüntüsü

  4. Kurulumdan sonra bu VM'ye SSH eklemek istiyorsanız, komutuyla ilişkili DNS Adını kullanın: ssh <adminUsername>@<DNS_Name>

Azure CLI'dan dağıtma

  1. Azure CLI iot uzantısını aşağıdakilerle yüklediğinizden emin olun:

    az extension add --name azure-iot
    
  2. Ardından, masaüstünüzde Azure CLI kullanıyorsanız oturum açarak başlayın:

    az login
    
  3. Birden çok aboneliğiniz varsa, kullanmak istediğiniz aboneliği seçin:

    1. Aboneliklerinizi listeleyin:

      az account list --output table
      
    2. Kullanmak istediğiniz aboneliğin SubscriptionID alanını kopyalayın.

    3. Çalışma aboneliğinizi kopyaladığınız kimlikle ayarlayın:

      az account set -s <SubscriptionId>
      
  4. Yeni bir kaynak grubu oluşturun (veya sonraki adımlarda mevcut bir kaynak grubunu belirtin):

    az group create --name IoTEdgeResources --location westus2
    
  5. Yeni bir sanal makine oluşturun:

    authenticationType passwordkullanmak için aşağıdaki örniğe bakın:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.1/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --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 adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
    

    Bir SSH anahtarıyla kimlik doğrulaması yapmak için, authenticationType değerini belirterek bunu yapabilir ve ardından adminPasswordOrKey parametresinde SSH anahtarının değerini sağlayabilirsiniz. sshPublicKey Aşağıda bir örnek gösterilmiştir.

    #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/1.1/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. Dağıtımın başarıyla tamamlandığını doğrulayın. Seçilen kaynak grubuna bir sanal makine kaynağı dağıtılmış olmalıdır. Makine adını not alın, bu biçiminde vm-0000000000000olmalıdır. Ayrıca ilişkili DNS Adı’nı da not alın; bu ad <dnsLabelPrefix>.<location>.cloudapp.azure.com biçiminde olmalıdır.

    DNS Adı, genel SSH girişinin bir parçası olarak çıkışlar bölümünde önceki adımın JSON biçimli çıkışından alınabilir. Bu girdinin değeri, yeni dağıtılan makineye SSH yapmak için kullanılabilir.

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

    DNS Adı, Azure portalında yeni dağıtılan sanal makinenin Genel Bakış bölümünden de alınabilir.

    iotedge vm'sinin dns adını gösteren ekran görüntüsü

  7. Kurulumdan sonra bu VM'ye SSH eklemek istiyorsanız, komutuyla ilişkili DNS Adını kullanın: ssh <adminUsername>@<DNS_Name>

Sonraki adımlar

Artık çalışma zamanı yüklü olarak sağlanan bir IoT Edge cihazınız olduğuna göre IoT Edge modüllerini dağıtabilirsiniz.

IoT Edge çalışma zamanının düzgün yüklenmesiyle ilgili sorun yaşıyorsanız sorun giderme sayfasına göz atın.

Mevcut bir yüklemeyi IoT Edge'in en yeni sürümüne güncelleştirmek için bkz . IoT Edge güvenlik daemon'unu ve çalışma zamanını güncelleştirme.

SSH veya diğer gelen bağlantılar aracılığıyla VM'ye erişmek için bağlantı noktalarını açmak istiyorsanız, Linux VM'de bağlantı noktalarını ve uç noktaları açmayla ilgili Azure Sanal Makineler belgelerine bakın