Üretimde IoT Edge dağıtmaya hazırlanma
Uygulama hedefi:
IoT Edge 1,1 diğer sürümler: IoT Edge 1,2
Uygulama hedefi:
IoT Edge 1,2 diğer sürümler: IoT Edge 1,1
Geliştirme aşamasından üretime IoT Edge hazır olduğunda, sürekli performans için yapılandırıldığından emin olun.
Bu makalede sağlanan bilgilerin hepsi eşit değildir. Önceliği belirlemeye yardımcı olmak için her bölüm işi iki bölüme bölen listelerle başlar: üretime gitmeden önce tamamlanması önemlidir veya bunu bilmek size yardımcı olur.
Cihaz yapılandırması
IoT Edge, Raspberry Pi'den dizüstü bilgisayara ve sunucuda çalışan bir sanal makineye kadar her şey olabilir. Cihaza fiziksel veya sanal bağlantı üzerinden erişiminiz olabilir veya cihaz uzun süre yalıtılmış olabilir. Her iki şekilde de, uygun şekilde çalışacak şekilde yapılandırıldığından emin olmak istersiniz.
Önemli
- Üretim sertifikalarını yükleme
- Cihaz yönetimi planına sahip olun
- Kapsayıcı altyapısı olarak Moby kullanma
Yararlı
- Yukarı akış protokolünü seçme
Üretim sertifikalarını yükleme
Üretim IoT Edge her cihaz için bir cihaz sertifika yetkilisi (CA) sertifikasının yüklü olması gerekir. Bu CA sertifikası daha sonra yapılandırma dosyasında IoT Edge çalışma zamanının durumuna belirtilir. Geliştirme ve test senaryoları için, IoT Edge çalışma zamanı yapılandırma dosyasında hiçbir sertifika bildirilse geçici sertifikalar oluşturur. Ancak, bu geçici sertifikaların süresi üç ay sonra dolar ve üretim senaryoları için güvenli değildir. Üretim senaryoları için, otomatik olarak imzalanan bir sertifika yetkiliden veya ticari bir sertifika yetkiliden satın alınan kendi cihaz CA sertifikanızı sağlamış olursanız.
Not
Şu anda libiothsm'daki bir sınırlama, 1 Ocak 2038'de veya sonrasında süresi dolan sertifikaların kullanımını önlemektedir.
Cihaz CA sertifikasının rolünü anlamak için bkz. Azure IoT Edge sertifikaları kullanma.
Bir IoT Edge cihazına sertifika yükleme ve yapılandırma dosyasından bu sertifikalara başvuru gönderme hakkında daha fazla bilgi için bkz. Sertifikayı bir IoT Edge cihaza yönetme.
Cihaz yönetimi planına sahip olun
Herhangi bir cihazı üretime koymadan önce, gelecekteki güncelleştirmeleri nasıl yöneteceklerini biliyor olun. Bir IoT Edge cihaz için, güncelleştirilen bileşenlerin listesi şunları içerebilir:
- Cihaz üretici yazılımı
- İşletim sistemi kitaplıkları
- Moby gibi kapsayıcı altyapısı
- IoT Edge
- CA sertifikaları
Daha fazla bilgi için bkz. Çalışma IoT Edge güncelleştirme. Verileri güncelleştirmek için geçerli IoT Edge cihaza fiziksel veya SSH IoT Edge gerekir. Güncelleştirilebilecek çok sayıda cihaz varsa, güncelleştirme adımlarını bir betike eklemeyi veya Ansible gibi bir otomasyon aracını kullanmayı göz önünde bulundurabilirsiniz.
Kapsayıcı altyapısı olarak Moby kullanma
Kapsayıcı altyapısı, tüm cihaz ve cihaz IoT Edge önkoşuldur. Yalnızca moby altyapısı üretimde de desteklemektedir. Docker gibi diğer kapsayıcı altyapıları da IoT Edge çalışır ve geliştirme için bu altyapıları kullanabilirsiniz. Moby altyapısı, bu altyapıyla birlikte Azure IoT Edge yeniden dağıtılabilir ve Microsoft bu altyapıya hizmet sağlar.
Yukarı akış protokolünü seçme
Hem IoT Edge aracısı hem de IoT Edge hub'ı için yukarı akış iletişimi için protokolü yapılandırabilirsiniz IoT Hub (kullanılan bağlantı noktasını belirler). Varsayılan protokol AMQP'tir, ancak ağ kuruluma bağlı olarak bunu değiştirmek istiyor olabilir.
İki çalışma zamanı modülünün her ikisi de bir UpstreamProtocol ortam değişkenine sahiptir. Değişkenin geçerli değerleri:
- MQTT
- AMQP
- MQTTWS
- AMQPWS
Cihazın kendi yapılandırma dosyasındaki IoT Edge için UpstreamProtocol değişkenlerini yapılandırma. Örneğin, IoT Edge cihazınız AMQP bağlantı noktalarını engelleyen bir ara sunucunun arkasında yer alıyorsa, IoT Edge aracıyı WebSocket (AMQPWS) üzerinden AMQP'yi kullanarak IoT Hub.
Cihazınız bağlan IoT Edge, gelecekteki dağıtımlarda her iki çalışma zamanı modülü için de UpstreamProtocol değişkenini yapılandırmaya devam edin. Bu işleme bir örnek, Bir IoT Edge proxy sunucusu üzerinden iletişim kurmak üzere yapılandırma içinde verilmektedir.
Dağıtım
- Yararlı
- Yukarı akış protokolüyle tutarlı olun
- Sistem modülleri için konak depolamayı ayarlama
- IoT Edge hub'ı tarafından kullanılan bellek IoT Edge azaltma
- Modül görüntülerinin hata ayıklama sürümlerini kullanma
Yukarı akış protokolüyle tutarlı olun
IoT Edge IoT Edge aracıyı varsayılan AMQP'den farklı bir protokol kullanmak üzere yapılandırdıysanız, gelecekteki tüm dağıtımlarda aynı protokolü bildirebilirsiniz. Örneğin, IoT Edge AMQP bağlantı noktalarını engelleyen bir ara sunucunun arkasında yer alıyorsa, büyük olasılıkla websocket (AMQPWS) üzerinden AMQP üzerinden bağlanacak şekilde cihazı yapılandırmışsınızdır. Cihaza modül dağıtırken, IoT Edge aracısı ve IoT Edge hub'ı için aynı AMQPWS protokolünü yapılandırabilirsiniz; yoksa varsayılan AMQP ayarları geçersiz kılar ve yeniden bağlanmayı önler.
Yalnızca IoT Edge aracı ve IoT Edge hub modülleri için UpstreamProtocol ortam değişkenlerini yapılandırmalısınız. Ek modüller, çalışma zamanı modüllerde hangi protokol ayarlanırsa ayarlansa onu benimser.
Bu işleme bir örnek, Bir IoT Edge proxy sunucusu üzerinden iletişim kurmak üzere yapılandırma içinde verilmektedir.
Sistem modülleri için konak depolamayı ayarlama
Merkezi IoT Edge aracı modülleri, durumu korumak ve modüller, cihazlar ve bulut arasında mesajlaşmayı etkinleştirmek için yerel depolama kullanır. Daha iyi güvenilirlik ve performans için sistem modüllerini konak dosya sisteminde depolamayı kullanmak üzere yapılandırabilirsiniz.
Daha fazla bilgi için bkz. Sistem modülleri için konak depolama.
Hub tarafından kullanılan bellek IoT Edge azaltma
Sınırlı kullanılabilir belleğe sahip kısıtlı cihazlar dağıtıyorsanız, IoT Edge hub'ı daha kolay bir kapasitede çalıştıracak ve daha az disk alanı kullanmak üzere yapılandırabilirsiniz. Ancak bu yapılandırmalar IoT Edge performansını sınırlar, bu nedenle çözümünüz için uygun dengeyi bulun.
Kısıtlanmış cihazlarda performans için iyileştirmeyin
IoT Edge hub'ı varsayılan olarak performans için en iyi duruma getirilmiş olduğundan, büyük bellek öbekleri ayırmaya çalışır. Bu yapılandırma Raspberry Pi gibi daha küçük cihazlarda kararlılık sorunlarına neden olabilir. Kısıtlı kaynaklara sahip cihazlar dağıtıyorsanız, IoT Edge hub'sinde OptimizeForPerformance ortam değişkenlerini false olarak ayarlamak IoT Edge olabilir.
OptimizeForPerformance true olarak ayarlanırsa, MQTT protokol başı daha iyi performansa sahip olan ancak daha fazla bellek ayıran PooledByteBufferAllocator'ı kullanır. Yalıtıcı 32 bit işletim sistemlerinde veya düşük belleğe sahip cihazlarda iyi çalışmıyor. Buna ek olarak, performans için iyileştirilmiş olduğunda RocksDb, yerel depolama sağlayıcısı rolü için daha fazla bellek ayırır.
Daha fazla bilgi için bkz. Daha küçük cihazlarda kararlılık sorunları.
Kullanılmayan protokolleri devre dışı bırakma
IoT Edge hub'ını performansını iyileştirmenin ve bellek kullanımını azaltmanın bir diğer yolu, çözümde kullanmamış olduğunuz protokoller için protokol yazılarını kapatmaktır.
Protokol başlıkları, dağıtım bildirimleriniz içinde IoT Edge hub modülü için boole ortam değişkenleri ayarlayacak şekilde yapılandırılır. Üç değişken:
- amqpSettings__enabled
- mqttSettings__enabled
- httpSettings__enabled
Üç değişkenin de iki alt çizgi vardır ve true veya false olarak ayarlanmıştır.
İletiler için depolama süresini azaltma
Bu IoT Edge hub modülü, herhangi bir nedenle ileti teslimi IoT Hub geçici olarak depolar. Teslim edilmeyen iletilerin süresi dolmadan IoT Edge hub'ların ne kadar süreyle teslim edilemeyeceklerini yapılandırabilirsiniz. Cihazınızla ilgili bellek endişeleriniz varsa hub modül ikizini kullanarak timeToLiveSecs IoT Edge düşürebilirsiniz.
timeToLiveSecs parametresinin varsayılan değeri 7200 saniyedir ve bu da iki saattir.
Modül görüntülerinin hata ayıklama sürümlerini kullanma
Test senaryolarından üretim senaryolarına doğru ilerlerken, dağıtım bildirimlerinden hata ayıklama yapılandırmalarını kaldırmayı unutmayın. Dağıtım bildirimlerinin modül görüntülerinin hiçbirinin hata ayıklama . soneki'ne sahip olup olamay olduğunu kontrol edin. Hata ayıklama için modüllerde bağlantı noktalarını göstermek için oluşturma seçenekleri eklediyebilirsiniz, bu oluşturma seçeneklerini de kaldırın.
Kapsayıcı yönetimi
- Önemli
- Sürümleri yönetmek için etiketleri kullanma
- İpuçları
- Çalışma zamanı kapsayıcılarını özel kayıt defterinizde depolayın
Sürümleri yönetmek için etiketleri kullanma
Etiket, Docker Kapsayıcıları sürümlerini ayırt etmek için kullanabileceğiniz bir Docker kavramıdır. Etiketler, bir kapsayıcı deposunun sonuna gelen 1,1 gibi sonlardır. Örneğin, MCR.Microsoft.com/azureiotedge-Agent:1.1. Etiketler değişebilir ve herhangi bir zamanda başka bir kapsayıcıya işaret etmek üzere değiştirilebilir, bu sayede, modül görüntülerini ileri doğru ilerleyen şekilde güncelleştirdiğinizde takımınızın izlenecek bir kuralı kabul etmesi gerekir.
Etiketler, IoT Edge cihazlarınızda güncelleştirmeleri zorunlu etmenize de yardımcı olur. Bir modülün güncelleştirilmiş bir sürümünü kapsayıcı Kayıt defterinize gönderdiğinizde, etiketi artırın. Ardından, bir etiketi arttırılarak cihazlarınıza yeni bir dağıtım gönderin. Kapsayıcı altyapısı, arttırılan etiketi yeni bir sürüm olarak tanır ve en son modül sürümünü cihazınıza doğru olarak çeker.
IoT Edge çalışma zamanına ait Etiketler
IoT Edge Aracısı ve IoT Edge hub görüntüleri ilişkili oldukları IoT Edge sürümü ile etiketlenir. Çalışma zamanı görüntülerinde Etiketler kullanmanın iki farklı yolu vardır:
Kayan Etiketler -bu basamakla eşleşen en son görüntüyü almak için sürüm numarasının yalnızca ilk iki değerini kullanın. Örneğin, en son 1.1. x sürümünü işaret eden yeni bir sürüm olduğunda 1,1 güncelleştirilir. IoT Edge cihazınızdaki kapsayıcı çalışma zamanı görüntüyü yeniden çeker, çalışma zamanı modülleri en son sürüme güncelleştirilir. Azure portal varsayılan olan dağıtımlar, kayan etiketlere. Bu yaklaşım geliştirme amaçlarıyla önerilir.
Belirli Etiketler -görüntü sürümünü açıkça ayarlamak için sürüm numarasının tüm üç değerini kullanın. Örneğin, 1.1.0 ilk sürümünden sonra değişmez. Güncelleştirme yapmaya hazırsanız dağıtım bildiriminde yeni bir sürüm numarası bildirebilirsiniz. Bu yaklaşım, üretim amaçları için önerilir.
Çalışma zamanı kapsayıcılarını özel kayıt defterinizde depolayın
Özel Azure kayıt defterinizde özel kod modülleri için kapsayıcı görüntülerinizi depolama hakkında bilgi sahibi olabilirsiniz, ancak edgeAgent ve edgHub Runtime modülleri gibi ortak kapsayıcı görüntülerini depolamak için de kullanabilirsiniz. Bu çalışma zamanı kapsayıcıları Microsoft Container Registry (MCR) depolandığından çok sıkı güvenlik duvarı kısıtlamalarınız varsa bunu yapmanız gerekebilir.
Özel Kayıt defterinize yerleştirilecek Docker Pull komutuyla görüntüleri alın. Çekme işlemi sırasında kapsayıcı sürümünü belirtmeniz, kapsayıcı açıklaması sayfasındaki en son kapsayıcı sürümünü aşağıda gösterildiği gibi bulmanız ve gerekirse çekme komutundaki sürümü değiştirmeniz gerekir. IoT Edge çalışma zamanının her yeni sürümü ile görüntüleri güncelleştirmeniz gerekeceğini unutmayın.
| IoT Edge çalışma zamanı kapsayıcısı | Docker Pull komutu |
|---|---|
| Azure IoT Edge Aracısı | docker pull mcr.microsoft.com/azureiotedge-agent:<VERSION_TAG> |
| Azure IoT Edge hub 'ı | docker pull mcr.microsoft.com/azureiotedge-hub:<VERSION_TAG> |
Ardından, edgeAgent ve edgeHub sistem modülleri için Deployment. Template. JSON dosyasındaki görüntü başvurularını güncelleştirdiğinizden emin olun. mcr.microsoft.comHer iki modül için kayıt defteri adınızla ve sunucu ile değiştirin.
edgeAgent:
"image": "<registry name and server>/azureiotedge-agent:1.1",EdgeHub
"image": "<registry name and server>/azureiotedge-hub:1.1",
Ağ
- İpuçları
- Giden/gelen yapılandırmayı gözden geçir
- IoT Edge cihazlarından bağlantılara izin ver
- Ara sunucu üzerinden iletişimi yapılandırma
Giden/gelen yapılandırmayı gözden geçir
Azure IoT Hub ve IoT Edge arasındaki iletişim kanalları her zaman giden olacak şekilde yapılandırılır. Çoğu IoT Edge senaryo için yalnızca üç bağlantı gereklidir. Kapsayıcı altyapısının modül görüntülerini tutan kapsayıcı kayıt defterine (veya kayıt defterlerine) bağlanması gerekir. IoT Edge çalışma zamanının cihaz yapılandırma bilgilerini almak ve ileti ve telemetri göndermek için IoT Hub ile bağlanması gerekir. Otomatik sağlamayı kullanıyorsanız, IoT Edge cihaz sağlama hizmetine bağlanması gerekir. Daha fazla bilgi için bkz. güvenlik duvarı ve bağlantı noktası yapılandırma kuralları.
IoT Edge cihazlarından bağlantılara izin ver
Ağ Kurulum, IoT Edge cihazlarından yapılan bağlantılara açıkça izin vermenizi gerektiriyorsa, aşağıdaki IoT Edge bileşenleri listesini gözden geçirin:
- IoT Edge Aracısı , büyük olasılıkla WebSockets üzerinden IoT Hub için kalıcı bir AMQP/MQTT bağlantısı açar.
- IoT Edge hub , büyük olasılıkla WebSockets üzerinden tek bir kalıcı AMQP bağlantısı veya IoT Hub için birden çok MQTT bağlantısı açar.
- IoT Edge hizmeti , IoT Hub için ARALıKLı olarak https çağrıları yapar.
Üç durumda da DNS adı, * . Azure-Devices.NET ile eşleşir.
Ayrıca, kapsayıcı altyapısı , https üzerinden kapsayıcı kayıt defterlerine çağrı yapar. IoT Edge çalışma zamanı kapsayıcı görüntülerini almak için DNS adı mcr.microsoft.com olur. Kapsayıcı altyapısı, dağıtımda yapılandırıldığı şekilde diğer kayıt defterlerine bağlanır.
Bu denetim listesi, güvenlik duvarı kuralları için bir başlangıç noktasıdır:
| URL ( * = joker karakter) | Giden TCP bağlantı noktaları | Kullanım |
|---|---|---|
| mcr.microsoft.com | 443 | Microsoft Container Registry |
| global.azure-devices-provisioning.net | 443 | DPS erişimi (isteğe bağlı) |
| *. azurecr.io | 443 | Kişisel ve üçüncü taraf kapsayıcı kayıt defterleri |
| *.blob.core.windows.net | 443 | Blob depolamadan Azure Container Registry Image değişimleri indirin |
| *. azure-devices.net | 5671, 8883, 443 | IoT Hub erişim |
| *. docker.io | 443 | Docker Hub erişimi (isteğe bağlı) |
Bu güvenlik duvarı kurallarından bazıları Azure Container Registry devralınır. Daha fazla bilgi için bkz. güvenlik duvarı arkasındaki Azure Container Registry 'ye erişmek için kuralları yapılandırma.
Not
geri kalan ve veri uç noktaları arasında, 15 haziran 2020 ' den itibaren tutarlı bir FQDN sağlamak için Microsoft Container Registry veri uç noktası ' dan ' a değişir. *.cdn.mscr.io``*.data.mcr.microsoft.com
daha fazla bilgi için bkz. Microsoft Container Registry istemci güvenlik duvarı kuralları yapılandırması
Güvenlik duvarınızı ortak kapsayıcı kayıt defterlerine erişime izin verecek şekilde yapılandırmak istemiyorsanız, özel kayıt defterinizde çalışma zamanı kapsayıcılarıbölümünde açıklandığı gibi özel kapsayıcı kayıt defterinizde görüntüler saklayabilirsiniz.
Ara sunucu üzerinden iletişimi yapılandırma
Cihazlarınız bir ara sunucu kullanan bir ağda dağıtılırsa, IoT Hub ve kapsayıcı kayıt defterlerine ulaşmak için proxy üzerinden iletişim kurabilmesi gerekir. Daha fazla bilgi için bkz. bir IoT Edge cihazını bir ara sunucu üzerinden iletişim kurmak Için yapılandırma.
Çözüm Yönetimi
- İpuçları
- Günlükleri ve tanılamayı ayarlama
- Günlük boyutu sınırlarını yerleştir
- Testleri ve CI/CD işlem hatlarını göz önünde bulundurun
Günlükleri ve tanılamayı ayarlama
Linux 'ta IoT Edge Daemon, günlükleri varsayılan günlük sürücüsü olarak kullanır. Komut satırı aracını kullanarak journalctl Daemon günlüklerini sorgulayın.
Windows, IoT Edge daemon PowerShell tanılamayı kullanır. Get-IoTEdgeLogArka plan programından günlükleri sorgulamak için kullanın. IoT Edge modüller, günlüğe kaydetme için varsayılan JSON sürücüsünü kullanır.
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
Sürüm 1.2'den başlayarak IoT Edge daemon'ları kullanabilirsiniz. Her daemon'ın günlükleri ile tek tek sorgulansa journalctl da, komutlar birleşik günlükleri iotedge system sorgulamak için kullanışlı bir yol sağlar.
Birleştirilmiş
iotedgekomut:sudo iotedge system logsEşdeğer
journalctlkomut:journalctl -u aziot-edge -u aziot-identityd -u aziot-keyd -u aziot-certd -u aziot-tpmd
Bir dağıtım test IoT Edge, genellikle cihazlarınıza erişebilirsiniz ve günlükleri alabilir ve sorun giderebilirsiniz. Bir dağıtım senaryosunda bu seçeneğiniz yok olabilir. Üretimde cihazlarınız hakkında nasıl bilgi toplayabilirsiniz? Seçeneklerden biri, diğer modüllerden bilgi toplayan ve bunu buluta gönderen bir günlük modülü kullanmaktır. Günlük modülüne örnek olarak logspout-delyticsveya kendi modüllerinizi tasarlayabilirsiniz.
Günlük boyutuna sınırlar
Moby kapsayıcı altyapısı varsayılan olarak kapsayıcı günlüğü boyutu sınırlarını ayarlamaz. Zaman içinde bu durum cihazın günlüklerle doldurulması ve disk alanı dolması ile ortaya çıkar. Bunu önlemek için aşağıdaki seçenekleri göz önünde kullanın:
Seçenek: Tüm kapsayıcı modülleri için geçerli olan genel sınırları ayarlama
Kapsayıcı altyapısı günlük seçeneklerinde tüm kapsayıcı günlük dosyalarının boyutunu sınırabilirsiniz. Aşağıdaki örnek, günlük sürücüsünü boyut ve dosya sayısı sınırlarıyla olarak ayarlar json-file (önerilir):
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
Bu bilgileri adlı bir dosyaya ekleyin (veya daemon.json ekleyin) ve aşağıdaki konuma ekleyin:
| Platform | Konum |
|---|---|
| Linux | /etc/docker/ |
| Windows | C:\ProgramData\iotedge-moby\config\ |
/etc/docker/
Değişikliklerin etkili olması için kapsayıcı altyapısının yeniden başlatılması gerekir.
Seçenek: Her kapsayıcı modülü için günlük ayarlarını ayarlama
Bunu her modülün createOptions içinde de yapabiliriz. Örnek:
"createOptions": {
"HostConfig": {
"LogConfig": {
"Type": "json-file",
"Config": {
"max-size": "10m",
"max-file": "3"
}
}
}
}
Linux sistemlerinde ek seçenekler
Varsayılan günlük sürücüsü olarak ayar yaparak kapsayıcı
systemdaltyapısını günlüklerejournaldgünlük gönderecek şekilde yapılandırma.Logrotate aracını yükleyerek eski günlükleri düzenli aralıklarla cihazdan kaldırın. Aşağıdaki dosya belirtimlerini kullanın:
/var/lib/docker/containers/*/*-json.log{ copytruncate daily rotate7 delaycompress compress notifempty missingok }
Testleri ve CI/CD işlem hatlarını göz önünde bulundurabilirsiniz
En verimli dağıtım IoT Edge üretim dağıtımınızı test ve CI/CD işlem hatlarınıza tümleştirmeyi göz önünde bulundurabilirsiniz. Azure IoT Edge, Azure DevOps dahil olmak üzere birden çok CI/CD Azure DevOps. Daha fazla bilgi için bkz. Azure IoT Edge'a sürekli tümleştirmeve sürekli dağıtım.
Güvenlik konuları
- Önemli
- Kapsayıcı kayıt defterinize erişimi yönetme
- Konak kaynaklarına kapsayıcı erişimini sınırlama
Kapsayıcı kayıt defterinize erişimi yönetme
Üretim cihazlarına modül dağıtmadan IoT Edge, dışarıdan gelenlerin kapsayıcı görüntülerinize erişemeden veya bu görüntülerde değişiklik yapmaması için kapsayıcı kayıt defterinize erişimi kontrol edin. Kapsayıcı görüntülerini yönetmek için özel bir kapsayıcı kayıt defteri kullanın.
Öğreticilerde ve diğer belgelerde, geliştirme makineniz üzerinde kullanmakla aynı kapsayıcı kayıt defteri kimlik bilgilerini IoT Edge cihaz üzerinde kullanma talimatı veririz. Bu yönergeler yalnızca test ve geliştirme ortamlarını daha kolay bir şekilde ayarlamanıza yardımcı olmak için tasarlanmıştır ve bir üretim senaryosunda takip etmeyebilirsiniz.
Kayıt defterinize daha güvenli bir erişim için kimlik doğrulama seçeneklerine sahipsiniz. Popüler ve önerilen kimlik doğrulaması, uygulamaların veya hizmetlerin kapsayıcı görüntülerini otomatik veya katılımsız (gözetimsiz) bir şekilde çekmesi için uygun olan bir Active Directory hizmet sorumlusu IoT Edge kullanmaktır. Bir diğer seçenek de depo kapsamındaki belirteçleri kullanmaktır. Bu belirteçler yalnızca oluşturulduklarında mevcut olan uzun veya kısa Azure Container Registry kimlikler oluşturmanıza olanak sağlar ve depo düzeyinde kapsam erişimi sağlar.
Hizmet sorumlusu oluşturmak için, hizmet sorumlusu oluşturma konusunda açıklandığı gibi iki betik çalıştırın. Bu betikler aşağıdaki görevleri yapar:
İlk betik hizmet sorumlusunu oluşturur. Hizmet sorumlusu kimliğini ve Hizmet sorumlusu parolasını çıkış olarak gösterir. Bu değerleri kayıtlarınıza güvenli bir şekilde depolar.
İkinci betik, hizmet sorumlusuna vermek için rol atamaları oluşturur ve gerekirse daha sonra çalıştırabilirsiniz. parametresi için acrPull kullanıcı rolünün uygulanması
roleönerilir. Rollerin listesi için bkz. Azure Container Registry izinler.
Hizmet sorumlusu kullanarak kimlik doğrulaması yapmak için, ilk betikten edinilen hizmet sorumlusu kimliğini ve parolasını girin. Dağıtım bildiriminde bu kimlik bilgilerini belirtin.
Kullanıcı adı veya istemci kimliği için hizmet sorumlusu kimliğini belirtin.
Parola veya gizli parola için hizmet sorumlusu parolasını belirtin.
Depo kapsamlı belirteçler oluşturmak için lütfen depo kapsamlı belirteç oluşturma yönergelerini izleyin.
Depo kapsamlı belirteçleri kullanarak kimlik doğrulaması yapmak için, depo kapsamlı belirtecini oluşturdukta elde edilen belirteç adını ve parolayı girin. Dağıtım bildiriminde bu kimlik bilgilerini belirtin.
Kullanıcı adı için belirtecin kullanıcı adını belirtin.
Parola için belirteci parolalardan birini belirtin.
Not
Gelişmiş bir güvenlik kimlik doğrulaması gerçekleştirdikten sonra, varsayılan kullanıcı adı/parola erişiminin artık kullanılabilir olmadığı Yönetici kullanıcı ayarını devre dışı bırakmanız gerekir. Kapsayıcı kayıt defterinizin sol Azure portal menüsünden Erişim Anahtarları'Ayarlar seçin.
Konak kaynaklarına kapsayıcı erişimini sınırlama
Modüller arasında paylaşılan konak kaynaklarını dengelemek için modül başına kaynak tüketimine sınırlar koymanız önerilir. Bu sınırlar, bir modülün çok fazla bellek veya CPU kullanımı tüketmemesi ve cihazda diğer işlemlerin çalıştırmasını engellemesini sağlar. Belirli IoT Edge çalışması için gereken kaynak ne kadarı test gerektirdiğini bilmek, varsayılan olarak modüller için kaynakları sınırlamaz.
Docker, bellek ve CPU kullanımı gibi kaynakları sınırlamak için kullanabileceğiniz bazı kısıtlamalar sağlar. Daha fazla bilgi için bkz. Bellek, CPU'lar ve GPU'lar ile çalışma zamanı seçenekleri.
Bu kısıtlamalar, dağıtım bildirimlerde oluşturma seçenekleri kullanılarak tek tek modüllere uygulanabilir. Daha fazla bilgi için bkz. Modüller için kapsayıcı oluşturma IoT Edge yapılandırma.
Sonraki adımlar
- Otomatik dağıtım hakkında daha IoT Edge bilgi.
- Sürekli tümleştirme IoT Edge sürekli dağıtımı nasıl desteklediğini görmek için bkz..