Aracılığıyla paylaş


Uzaktan İzleme çözüm hızlandırıcısını yerel olarak dağıtma - Docker

Bu makalede, uzaktan izleme çözümü hızlandırıcısının test ve geliştirme amacıyla yerel makinenize nasıl dağıtılacağı gösterilmektedir. Mikro hizmetleri yerel Docker kapsayıcılarına dağıtmayı öğrenirsiniz. Yerel mikro hizmetler dağıtımı şu bulut hizmetlerini kullanır: IoT Hub, Cosmos DB, Azure Streaming Analytics ve buluttaki Azure Time Series Insights hizmetleri.

Uzaktan İzleme çözüm hızlandırıcısını yerel makinenizdeki bir IDE'de çalıştırmak istiyorsanız bkz. Uzaktan İzleme çözüm hızlandırıcısını yerel olarak dağıtma - Visual Studio.

Önkoşullar

Uzaktan İzleme çözümü hızlandırıcısı tarafından kullanılan Azure hizmetlerini dağıtmak için etkin bir Azure aboneliğine ihtiyacınız vardır.

Hesabınız yoksa yalnızca birkaç dakika içinde ücretsiz bir deneme sürümü hesabı oluşturabilirsiniz. Ayrıntılı bilgi için bkz. Azure Ücretsiz Deneme Sürümü.

Makine kurulumu

Yerel dağıtımı tamamlamak için yerel geliştirme makinenizde aşağıdaki araçların yüklü olması gerekir:

  • Git
  • Docker
  • Visual Studio : Mikro hizmetlerde değişiklik yapmayı planlıyorsanız.
  • v8Node.js - Bu yazılım, betiklerin Azure kaynakları oluşturmak için kullandığı PCS CLI için bir önkoşuldur. Node.js v10 kullanmayın.

Not

Bu araçlar Windows, Linux ve iOS gibi birçok platformda kullanılabilir.

Kaynak kodu indirme

Uzaktan İzleme kaynak kodu depoları, mikro hizmetler Docker görüntülerini çalıştırmak için ihtiyacınız olan kaynak kodunu ve Docker yapılandırma dosyalarını içerir.

Deponun yerel bir sürümünü kopyalayıp oluşturmak için komut satırı ortamınızı kullanarak yerel makinenizde uygun bir klasöre gidin. Ardından aşağıdaki komut kümelerinden birini çalıştırarak .NET deposunu kopyalayın:

.NET mikro hizmet uygulamalarının en son sürümünü indirmek için şunu çalıştırın:

git clone --recurse-submodules https://github.com/Azure/azure-iot-pcs-remote-monitoring-dotnet.git

# To retrieve the latest submodules, run the following command:

cd azure-iot-pcs-remote-monitoring-dotnet
git submodule foreach git pull origin master

Not

Bu komutlar, mikro hizmetleri yerel olarak çalıştırmak için kullandığınız betiklere ek olarak tüm mikro hizmetlerin kaynak kodunu indirir. Docker'da mikro hizmetleri çalıştırmak için kaynak koduna ihtiyacınız olmasa da, daha sonra çözüm hızlandırıcısını değiştirmeyi ve değişikliklerinizi yerel olarak test etmek istiyorsanız kaynak kodu yararlı olur.

Azure hizmetlerini dağıtma

Bu makalede mikro hizmetlerin yerel olarak nasıl çalıştırılacakları gösterse de bunlar bulutta çalışan Azure hizmetlerine bağımlıdır. Azure hizmetlerini dağıtmak için aşağıdaki betiği kullanın. Aşağıdaki betik örneklerinde bir Windows makinesinde .NET deposunu kullandığınız varsayılır. Başka bir ortamda çalışıyorsanız yolları, dosya uzantılarını ve yol ayırıcılarını uygun şekilde ayarlayın.

Yeni Azure kaynakları oluşturma

Gerekli Azure kaynaklarını henüz oluşturmadıysanız şu adımları izleyin:

  1. Komut satırı ortamınızda, deponun kopyaladığınız kopyasında \services\scripts\local\launch klasörüne gidin.

  2. Pcs CLI aracını yüklemek ve Azure hesabınızda oturum açmak için aşağıdaki komutları çalıştırın:

    npm install -g iot-solutions
    pcs login
    
  3. start.cmd betiğini çalıştırın. Betik sizden aşağıdaki bilgileri ister:

    • Çözüm adı.

    • Kullanılacak Azure aboneliği.

    • Kullanılacak Azure veri merkezinin konumu.

      Betik, Azure'da çözüm adınızla kaynak grubu oluşturur. Bu kaynak grubu, çözüm hızlandırıcısının kullandığı Azure kaynaklarını içerir. Karşılık gelen kaynaklara artık ihtiyacınız kalmadıktan sonra bu kaynak grubunu silebilirsiniz.

      Betik ayrıca yerel makinenize PCS ön ekine sahip bir dizi ortam değişkeni ekler. Bu ortam değişkenleri, Bir Azure Key Vault kaynağından okuyabilmek için Uzaktan İzleme'nin ayrıntılarını sağlar. Bu Key Vault kaynağı, Uzaktan İzleme'nin yapılandırma değerlerini okuyacağı yerdir.

      İpucu

      Betik tamamlandığında, ortam değişkenlerini giriş klasörünüz>\.pcs\<solution name.env> adlı< bir dosyaya da kaydeder. Bunları gelecekteki çözüm hızlandırıcısı dağıtımları için kullanabilirsiniz. Docker-compose'u çalıştırdığınızda, yerel makinenizde ayarlanan ortam değişkenlerinin services\scripts\local\.env dosyasındaki değerleri geçersiz kıldığını unutmayın.

  4. Komut satırı ortamınızdan çıkın.

Mevcut Azure kaynaklarını kullanma

Gerekli Azure kaynaklarını zaten oluşturduysanız, yerel makinenizde ilgili ortam değişkenlerini oluşturun. Ortam değişkenlerini aşağıdakiler için ayarlayın:

  • PCS_KEYVAULT_NAME - Azure Key Vault kaynağının adı
  • PCS_AAD_APPID - AAD uygulama kimliği
  • PCS_AAD_APPSECRET - AAD uygulama gizli dizisi

Yapılandırma değerleri bu Azure Key Vault kaynağından okunur. Bu ortam değişkenleri dağıtımdan <giriş klasörünüz>\.pcs\<solution name.env> dosyasına kaydedilebilir. Yerel makinenizde ayarlanan ortam değişkenlerinin, docker-compose'u çalıştırdığınızda services\scripts\local\.env dosyasındaki değerleri geçersiz kıldığını unutmayın.

Mikro hizmet için gereken yapılandırmalardan bazıları, ilk dağıtımda oluşturulan bir Key Vault örneğinde depolanır. Keyvault içindeki karşılık gelen değişkenler gerektiğinde değiştirilmelidir.

Docker'da mikro hizmetleri çalıştırma

start.cmd betiği tarafından ayarlanan ortam değişkenlerine erişiminiz olduğundan emin olmak için yeni bir komut istemi açın. Windows aşağıdaki komutu çalıştırarak ortam değişkenlerinin ayarlandığını doğrulayabilirsiniz:

set PCS

komutu start.cmd betiği tarafından ayarlanan tüm ortam değişkenlerini gösterir.

Docker'ın yerel makinenizde çalıştığından emin olun.

Not

Docker, Windows üzerinde çalışıyorsa Linux kapsayıcıları çalıştırıyor olmalıdır.

Yerel Docker kapsayıcılarında çalışan mikro hizmetlerin Azure bulut hizmetlerine erişmesi gerekir. Kapsayıcı içinden bir internet adresine ping göndermek için aşağıdaki komutu kullanarak Docker ortamınızın İnternet bağlantısını test edebilirsiniz:

docker run --rm -ti library/alpine ping google.com

Çözüm hızlandırıcısını çalıştırmak için komut satırı ortamınızda services\scripts\local klasörüne gidin ve aşağıdaki komutu çalıştırın:

docker-compose up

Not

komutunu çalıştırmadan docker-compose upönce Docker ile yerel bir sürücü paylaştığınızdan emin olun.

Bu komutu ilk kez çalıştırdığınızda Docker, kapsayıcıları yerel olarak oluşturmak için Docker hub'ından mikro hizmet görüntülerini indirir. Aşağıdaki çalıştırmalarda Docker kapsayıcıları hemen çalıştırır.

İpucu

Microsoft, yeni işlevlere sahip yeni Docker görüntülerini sık sık yayımlar. En son kapsayıcıları çekmeden önce yerel Docker kapsayıcılarınızı ve ilgili görüntüleri temizlemek için aşağıdaki komut kümesini kullanabilirsiniz:

docker list
docker rm <list_of_containers>
docker rmi <list_of_images>

Kapsayıcıdaki günlükleri görüntülemek için ayrı bir kabuk kullanabilirsiniz. İlk olarak komutunu kullanarak docker ps kapsayıcı kimliğini bulun. Ardından, belirtilen kapsayıcı için son 1000 girdiyi görüntülemek için kullanın docker logs {container-id} --tail 1000 .

Stream Analytics işini başlatma

Stream Analytics işini başlatmak için şu adımları izleyin:

  1. Azure portal gidin.
  2. Çözümünüz için oluşturulan Kaynak grubuna gidin. Kaynak grubunun adı, start.cmd betiğini çalıştırdığınızda çözümünüz için seçtiğiniz addır.
  3. Kaynak listesinde Stream Analytics işine tıklayın.
  4. Stream Analytics işine genel bakış sayfasında Başlangıç düğmesine tıklayın. Ardından, işi şimdi başlatmak için Başlat'a tıklayın.

Panoya Bağlan

Uzaktan İzleme çözümü panosuna erişmek için https://localhost:8080 tarayıcınızda adresine gidin. Artık Web kullanıcı arabirimini ve yerel mikro hizmetleri kullanabilirsiniz.

Temizleme

Gereksiz ücretlerden kaçınmak için, testinizi bitirdiğinizde bulut hizmetlerini Azure aboneliğinizden kaldırın. Hizmetleri kaldırmak için Azure portal gidin ve start.cmd betiğinin oluşturduğu kaynak grubunu silin.

docker-compose down --rmi all Docker görüntülerini kaldırmak ve yerel makinenizde yer açmak için komutunu kullanın. Kaynak kodu GitHub kopyaladığınızda oluşturulan Uzaktan İzleme deposunun yerel kopyasını da silebilirsiniz.

Sonraki adımlar

Uzaktan İzleme çözümünü dağıttığınıza göre, sonraki adım çözüm panosunun özelliklerini keşfetmektir.