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:
Komut satırı ortamınızda, deponun kopyaladığınız kopyasında \services\scripts\local\launch klasörüne gidin.
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
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.
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:
- Azure portal gidin.
- Çö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.
- Kaynak listesinde Stream Analytics işine tıklayın.
- 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.