Share via


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

Şunlar için geçerlidir:IoT Edge 1.5 onay işareti IoT Edge 1.5 IoT Edge 1.4 onay işareti IoT Edge 1.4

Önemli

IoT Edge 1.5 LTS ve IoT Edge 1.4 LTS desteklenen sürümlerdir. IoT Edge 1.4 LTS, 12 Kasım 2024'te kullanım ömrü sona erer. Önceki bir sürümdeyseniz 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 20.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 bulunan Azure'a Dağıt Düğmesinin kullanımı gösterilmektedir.

  1. iotedge-vm-deploy Azure Resource Manager şablonunu kullanarak Azure IoT Edge özellikli bir Linux VM dağıtacağız. Başlamak için aşağıdaki düğmeyi seçin:

    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.
    parolayı veya anahtarı Yönetici 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üğmeyi seçin ve dağıtımı başlatmak için Oluştur'u seçin.

  3. Dağıtımın başarıyla tamamlandığını doğrulayın. Seçilen kaynak grubuna bir sanal makine kaynağı dağıtılı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:

    authenticationTypepasswordkullanmak için aşağıdaki örne bakın:

    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>"
    

    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ğıdaki örneğe bakın:

    #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. Dağıtımın başarıyla tamamlandığını doğrulayın. Seçilen kaynak grubuna bir sanal makine kaynağı dağıtılmalı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.