Ubuntu Sanal Makineler üzerinde Azure IoT Edge'i çalıştırma
Şunlar için geçerlidir: 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.
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:
Yeni başlatılan pencerede, kullanılabilir form alanlarını doldurun:
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.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-0000000000000
olmalı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.
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
Azure CLI iot uzantısını aşağıdakilerle yüklediğinizden emin olun:
az extension add --name azure-iot
Ardından, masaüstünüzde Azure CLI kullanıyorsanız oturum açarak başlayın:
az login
Birden çok aboneliğiniz varsa, kullanmak istediğiniz aboneliği seçin:
Aboneliklerinizi listeleyin:
az account list --output table
Kullanmak istediğiniz aboneliğin SubscriptionID alanını kopyalayın.
Çalışma aboneliğinizi kopyaladığınız kimlikle ayarlayın:
az account set -s <SubscriptionId>
Yeni bir kaynak grubu oluşturun (veya sonraki adımlarda mevcut bir kaynak grubunu belirtin):
az group create --name IoTEdgeResources --location westus2
Yeni bir sanal makine oluşturun:
authenticationType
password
kullanmak 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)"
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-0000000000000
olmalı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.
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