Kayıt defteri uç noktalarını yapılandırma

Veri akışı grafikleri ve HTTP/REST bağlayıcısı, webassembly (WASM) modüllerini ve graf tanımlarını kapsayıcı kayıt defterlerinden çekmek için kayıt defteri uç noktalarını kullanır. Azure IoT İşlemleri, kapsayıcı kayıt defterlerinden geliştirdiğiniz tüm özel bağlayıcı şablonlarını çeker. Azure Container Registry (ACR), Microsoft Container Registry (MCR) veya GitHub Container Registry'ye (ghcr.io) bağlanmak için uç nokta ayarlarını, kimlik doğrulamasını ve diğer ayarları yapılandırabilirsiniz.

Önkoşullar

  • Azure IoT İşlemleri sürüm 1.2 veya üzeri.
  • ACR gibi bir kapsayıcı kayıt defterine erişim.

Bu makaledeki Azure CLI örnek, her değeri bir kez ayarlayabilmeniz ve ardından komutları kopyalayıp yapıştırmanız için ortam değişkenlerini kullanır as-is. Eğer hızlı başlangıçta Azure IoT İşlemleri Codespaces ortamını kullanıyorsanız, bu değişkenler zaten sizin için ayarlanmış ve bu adımı atlayabilirsiniz. Aksi takdirde, komutları çalıştırmadan önce shell'inizde aşağıdaki ortam değişkenlerini ayarlayın.

Aşağıdaki betikler en sık kullanılan ortam değişkenlerini ayarlar:

Ortam değişkeni Description
SUBSCRIPTION_ID Azure IoT İşlemleri örneğini içeren aboneliğin kimliği.
RESOURCE_GROUP Azure IoT İşlemleri örneğini içeren kaynak grubunun adı.
AIO_INSTANCE_NAME Azure IoT İşlemleri örneğinizin adı. Örneklerinizi listelemek için çalıştırın az iot ops list -o table.
CLUSTER_NAME Azure Arc özellikli Kubernetes kümesinin adı, örneğini barındırıyor.
LOCATION Yeni kaynaklar için kullanılacak Azure bölgesi, örneğin eastus.
SUBSCRIPTION_ID=<subscription-id>
RESOURCE_GROUP=<resource-group-name>
AIO_INSTANCE_NAME=<instance-name>
CLUSTER_NAME=<cluster-name>
LOCATION=<region>

Sadece bu makalenin kullandığı değişkenleri ayarlamanız yeterlidir. Bu makale, seçtiğiniz kaynak adları için ek ortam değişkenleri kullanabilir. Makale, tanıtıldıkları yere nasıl yerleştirileceğini açıklıyor.

Bu makale ayrıca seçtiğiniz değerler için aşağıdaki ortam değişkenlerini kullanır: REGISTRY_ENDPOINT (kayıt noktasının adı), ACR_NAME (Azure Container Registry adı), REGISTRY_HOST (kayıt bilgisayar adı), CLIENT_IDTENANT_ID (kullanıcı tarafından atanan yönetilen kimlik tanımlayıcıları), REGISTRY_PASSWORDREGISTRY_USERNAME ve (kayıt kayıt bilgileri), GITHUB_USERNAME ve GITHUB_PAT (GitHub Container Registry kimlik bilgileri). İlgili komutları çalıştırmadan önce her birini ayarlayın.

Kayıt defteri uç noktası oluşturma

Kayıt defteri uç noktası, kapsayıcı kayıt defterinize bağlantıyı tanımlar. Veri akışı grafları WASM modüllerini ve graf tanımlarını çekmek için kayıt defteri uç noktalarını kullanır. Azure IoT İşlemleri, özel bağlayıcı şablonlarını çekmek için kayıt defteri uç noktalarını kullanır. Kayıt defteri uç noktası oluşturduktan sonra:

  1. Azure portalında Azure IoT İşlemleri örneğine gidin.

  2. Bileşenler'in altında Kayıt defteri uç noktaları'yı seçin.

    Azure IoT İşlemleri örneğinin bileşenleri altındaki Kayıt defteri uç noktaları sayfasını gösteren Azure portalının ekran görüntüsü.

  3. + Kayıt defteri uç noktası oluştur'u seçin.

  4. Aşağıdaki ayarları girin:

    Setting Description
    Kayıt defteri uç noktası adı Kayıt defteri uç noktası için benzersiz bir ad.
    Ana Bilgisayar Adı Kapsayıcı kayıt defterinin ana bilgisayar adı. ACR için biçimini <registry-name>.azurecr.iokullanın. MCR için kullanın mcr.microsoft.com. Konak adı biçimi hakkında ayrıntılı bilgi için bkz. Konak.
    Kimlik Doğrulaması Kimlik doğrulama yöntemi. Şunlardan birini seçin: Anonim, Artefakt sırrı, Sistem tarafından yönetilen kimlik veya Kullanıcı tarafından yönetilen kimlik.

    Uyarı

    Azure portalı şu anda yalnızca <your-registry-name>.azurecr.io veya mcr.microsoft.com formatındaki konak adlarını kabul eder. GitHub Container Registry (ghcr.io) veya Docker Hub gibi diğer kayıt defterlerini kullanmak için Bicep veya Azure CLI kullanarak kayıt defteri uç noktasını oluşturun.

    Ad, konak ve kimlik doğrulama seçeneklerini gösteren kayıt defteri uç noktası oluşturma formunun ekran görüntüsü.

  5. Seçtiğiniz yöntemin kimlik doğrulama ayarlarını yapılandırın. Her yöntem hakkında bilgi için bkz . Kimlik doğrulama yöntemleri.

  6. Oluştur'i seçin.

Uyarı

Kayıt defteri uç noktalarını birden çok veri akışı grafiğinde ve Akri bağlayıcıları gibi diğer Azure IoT İşlemleri bileşenlerinde yeniden kullanabilirsiniz.

Yapılandırma seçenekleri

Host

host özelliği yalnızca kapsayıcı kayıt defteri ana bilgisayar adını belirtir. Yapıtların depolandığı depo yolunu eklemeyin. ACR için biçimini <registry-name>.azurecr.iokullanın.

Önemli

Depo yollarını kayıt uç noktasının ana bilgisayarında değil, grafikte veya modül yapı başvurularında belirtin. Örneğin, artefaktınız ghcr.io/azure-samples/explore-iot-operations/temperature:1.0.0 ise, host değerini ghcr.io olarak ayarlayın. Yapıta azure-samples/explore-iot-operations/temperature:1.0.0 olarak başvurun. Ana makine, kayıt deposunun ana bilgisayar adıyla eşleşmiyorsa WASM grafik denetleyicisi günlüklerinde "Geçerli kayıt deposu uç nokta yapılandırması bulunamadı" ifadesini görürsünüz.

Örnekler:

  • `myregistry.azurecr.io (Azure Konteyner Kaydı)`
  • mcr.microsoft.com (Microsoft Container Registry - Microsoft Konteyner Kayıt Defteri)
  • ghcr.io(GitHub Container Registry)
  • docker.io(Docker Hub)

Artefakt yolları ve graf modülü referansları

Kayıt defteri uç noktası konağı kayıt defterini tanımlar. Artefakt yolları, o kayıttaki depoyu ve etiketi tanımlar. Grafik tanımı bir WASM modülüne başvurduğunda modül başvurusu, modül yapıtının kayıt defterinde depolandığı yerle eşleşmelidir.

Kayıt uç noktası ana bilgisayarı Grafik artefakt referansı Graf tanımında modül referansı Çözümlenen modül yapıtı
mcr.microsoft.com azureiotoperations/graph-dataflow-map:1.0.0 azureiotoperations/module-dataflow-map:1.0.0 mcr.microsoft.com/azureiotoperations/module-dataflow-map:1.0.0
ghcr.io azure-samples/explore-iot-operations/graph-simple:1.0.0 azure-samples/explore-iot-operations/temperature:1.0.0 ghcr.io/azure-samples/explore-iot-operations/temperature:1.0.0
<registry-name>.azurecr.io graph-simple:1.0.0 temperature:1.0.0 <registry-name>.azurecr.io/temperature:1.0.0
<registry-name>.azurecr.io factory/graphs/graph-simple:1.0.0 factory/graphs/temperature:1.0.0 <registry-name>.azurecr.io/factory/graphs/temperature:1.0.0

Graf ve modül artefaktlarını kaydınızın köküne gönderiyorsanız, graph-simple:1.0.0 ve temperature:1.0.0 gibi kısa artefakt adları kullanın. Artefaktları bir depo yolu altına itiyorsanız, bu depo yolunu hem veri akışı grafiği artefakt başvurusuna hem de graf tanımının içindeki modül başvurularına ekleyin.

Kimlik doğrulama yöntemleri

Kayıt defteri uç noktaları çeşitli kimlik doğrulama yöntemlerini destekler. Seçtiğiniz yöntem kapsayıcı kayıt defterinize ve güvenlik gereksinimlerinize bağlıdır.

Sistem tarafından atanan yönetilen kimlik

Sistem tarafından atanan yönetilen kimlik, kayıt defteriyle kimlik doğrulaması yapmak için Azure IoT İşlemleri örneğinin yerleşik kimliğini kullanır. Kimlik bilgilerini yönetme gereksinimini ortadan kaldırdığından ACR için bu yaklaşımı kullanın.

Kayıt defteri uç noktasını yapılandırmadan önce Azure IoT İşlemleri sistem tarafından atanan yönetilen kimliğin gerekli izinlere sahip olduğundan emin olun:

  1. Azure portalında Azure IoT İşlemleri örneğinize gidin ve Genel Bakış'ı seçin.
  2. Azure IoT İşlemleri Arc uzantısından sonra listelenen uzantının adını kopyalayın. Örneğin, azure-iot-operations-xxxx7.
  3. Kapsayıcı kayıt defterine >Erişim denetimi (IAM)>Rol ataması ekleyin gidin.
  4. Rol sekmesinde rol'e tıklayınAcrPull.
  5. Üyeler sekmesinde, Erişim ata için Kullanıcı, grup veya hizmet sorumlusu'nu seçin, ardından + Üyeleri seçin'i seçin ve Azure IoT İşlemleri Arc uzantısı adını arayın. Uzantıyı seçin ve Seç'i seçin.
  6. Rol atamasını tamamlamak için Gözden geçir ve ata seçeneğini seçin.

Azure portalında, kayıt defteri uç noktasını oluştururken kimlik doğrulama yöntemi olarak Sistem tarafından yönetilen kimlik'i seçin.

Kayıt defteri uç noktası için tamamlanmış sistem tarafından yönetilen kimlik doğrulama yapılandırmasının ekran görüntüsü.

Mülkiyet Description Gerekli
audience Kimlik doğrulaması yapılacak olan hizmetin hedef kitlesi. Hayı
extensionName Kullanılacak belirli uzantı adı. Hayı
tenantId Kimlik doğrulaması için kiracı kimliği. Hayı

Operatör, sağlamazsanız uç noktadan hedef kitleyi çıkarsamaya çalışır. ACR için hedef kitle genellikle https://management.azure.com/şeklindedir.

Kullanıcı atamalı yönetilen kimlik

Kullanıcı tarafından atanan yönetilen kimlik, gerekli izinlerle oluşturduğunuz ve yapılandırdığınız belirli bir yönetilen kimliği kullanmanıza olanak tanır. Kayıt defteri uç noktasını yapılandırmadan önce, kullanıcı tarafından atanan yönetilen kimliğin kapsayıcı kayıt defterinizde rolü olduğundan AcrPull emin olun.

Azure portalında kimlik doğrulama yöntemi olarak Kullanıcı tarafından yönetilen kimlik'i seçin ve istemci kimliğini ve kiracı kimliğini girin.

Uyarı

Kullanıcı tarafından yönetilen kimliği etkinleştirmek için istemci ve kiracı kimlikleri gereklidir.

Kayıt defteri uç noktası için tamamlanmış kullanıcı tarafından yönetilen kimlik doğrulama yapılandırmasının ekran görüntüsü.

Mülkiyet Description Gerekli
clientId Kullanıcı tarafından atanan yönetilen kimliğin istemci kimliği. Yes
tenantId Yönetilen kimliğin yer aldığı kiracı kimliği. Yes
scope .default sonekiyle kaynağın kapsamı. Hayı

İşleç, siz kapsamı sağlamazsanız, kapsamı uç noktadan çıkarsamaya çalışır.

Artifact çekme gizlilik anahtarı

Artifact çekme gizlilik anahtarları, yönetilen kimlik kimlik doğrulamasını desteklemeyen kayıt defterleri için kullanıcı adı ve parola kimlik doğrulaması kullanmanızı sağlar.

İlk olarak, kayıt defteri kimlik bilgilerini içeren bir Kubernetes gizli anahtar oluşturun.

kubectl create secret docker-registry my-registry-secret \
  --docker-server=myregistry.azurecr.io \
  --docker-username=$REGISTRY_USERNAME \
  --docker-password=$REGISTRY_PASSWORD \
  -n azure-iot-operations

Azure portalında kimlik doğrulama yöntemi olarak Yapıt gizli anahtarı'nı seçin. Azure Key Vault'tan mevcut gizli dizileri seçebilir veya yeni gizli diziler oluşturabilirsiniz.

Yapıt sırları için Azure Key Vault sır seçme arayüzünün ekran görüntüsü.

Yeni sırlar oluşturmak ve bunları Azure Key Vault'ta depolamak için:

Yapıt gizli dizileri için Azure Key Vault'ta yeni gizli dizi oluşturma formunun ekran görüntüsü.

Anonim kimlik doğrulaması

Kimlik bilgileri gerektirmeyen genel kayıt defterleri için anonim kimlik doğrulaması kullanılır.

Azure portalında kimlik doğrulama yöntemi olarak Anonim'i seçin.

Kayıt defteri uç noktası için tamamlanmış anonim kimlik doğrulama yapılandırmasının ekran görüntüsü.

Azure Container Registry tümleştirmesi

ACR, Azure IoT İşlemleri için önerilen kapsayıcı kayıt defteridir. ACR, Microsoft Entra Id aracılığıyla tümleşik kimlik doğrulaması ile güvenli, özel Docker kapsayıcı kayıt defterleri sağlar.

ACR önkoşulları

  1. ACR örneği oluşturma: ACR örneğiniz yoksa aboneliğinizde bir ACR örneği oluşturun.
  2. İzinleri yapılandırma: Azure IoT İşlemleri yönetilen kimliğinin AcrPull kayıt defteri üzerinde izinleri olduğundan emin olun.
  3. Artifact yükleme: ORAS CLI gibi araçları kullanarak WASM modüllerinizi ve grafik tanımlarınızı kayıt defterine yükleyin.

Genel kayıt defteri kullanma

Bir kayıt defteri uç noktasını doğrudan genel OCI uyumlu bir kayıt defterine işaret eden şekilde yapılandırabilirsiniz. Bu yaklaşım, kendi özel kayıt defterinizi kurmadan önceden oluşturulmuş WASM modüllerine ve grafik tanımlarına referans vermenize olanak tanır.

Önemli

Bazı kamu kayıtları, dahil ghcr.ioolmak üzere, kamuya açık eserlere hizmet vermeden önce doğrulanmış token değişimi gerektirir. Kimliği doğrulanmamış (anonim) bir ghcr.io isteği, 401 Unauthorized sınamasıyla birlikte Www-Authenticate: Bearer döndürür ve mevcut Azure IoT İşlemleri çalışma zamanı anonim belirteç değişimini gerçekleştirmez; bu nedenle anonim (Anonymous / --no-auth) ghcr.io uç nokta yapıtı yükleyemez ve veri akışı grafiği başlamaz. Genel kullanıma açık ghcr.io örnekleri kullanmak için, aşağıdaki adımlarda gösterildiği gibi, kapsamına sahip bir GitHub kişisel erişim belirteci (PAT) ile desteklenen bir read:packages kullanın. (Anonim bir uç nokta, token değişimi olmadan kamuya açık eserlere hizmet veren kayıtlar için çalışır, örneğin mcr.microsoft.com.)

Uyarı

Azure portalı şu anda yalnızca kayıt defteri uç noktaları oluştururken ACR ve MCR konak adlarını destekler. ghcr.io gibi bir genel kayıt defteri için kayıt defteri uç noktasını yapılandırmak için bunun yerine Bicep veya Azure CLI kullanın.

Örneğin, Azure IoT İşlemleri örnek WASM modülleri ve graf tanımları ghcr.io/azure-samples/explore-iot-operations altında yayımlanır. Kayıt listesi sunucusu için ghcr.io bir kayıt noktası oluşturun ve GitHub PAT ile kimlik doğrulamanızı yapın. azure-samples/explore-iot-operations depo yolunu artefakt başvurularına yerleştirin.

İlk olarak, bir GitHub kullanıcı adı ve read:packages kapsamına sahip bir PAT içeren bir Kubernetes secret’ı oluşturun:

kubectl create secret docker-registry ghcr-pull-secret \
  --docker-server=ghcr.io \
  --docker-username=$GITHUB_USERNAME \
  --docker-password=$GITHUB_PAT \
  -n azure-iot-operations

Ardından, gizli anahtarı referans alan kayıt uç noktasını oluşturun.

Azure portalı şu anda MCR dışında genel kayıt defterleri için kayıt defteri uç noktaları oluşturmayı desteklememektedir. Bunun yerine Bicep veya Azure CLI kullanın.

Bu kayıt defteri uç noktasını oluşturduktan sonra, veri akışı grafınızda bu uç noktaya olarak registryEndpointRef: public-ghcrbaşvurabilirsiniz. Çalışma zamanı, ghcr.io için kimlik doğrulaması yapmak üzere çekme gizli anahtarını kullanır ve örnek artefaktları doğrudan çeker.

altında ghcr.io/azure-samples/explore-iot-operationsbulunan önceden oluşturulmuş örnek WASM modüllerinin ve grafik tanımlarının listesi için bkz. Genel kayıt defterinden önceden oluşturulmuş modülleri kullanma.

Uyarı

Genel kayıt defterleri kimlik doğrulaması gerektirmez, ancak hız sınırları olabilir. Üretim iş yükleri için Azure Container Registry gibi özel bir kayıt defteri kullanmayı göz önünde bulundurun.

Varsayılan MCR kayıt defteri uç noktası

Azure IoT İşlemlerini dağıttığınızda, adlı default bir kayıt defteri uç noktası otomatik olarak oluşturulur. Bu uç nokta, anonim kimlik doğrulamasıyla Microsoft Container Registry'yi (mcr.microsoft.com) işaret ediyor:

Varsayılan kayıt defteri uç noktasını Azure portalında Bileşenler>Kayıt Defteri uç noktaları altında görüntüleyebilirsiniz. Uç nokta default salt okunurdur ve silinemez.

Yerleşik veri akışı grafiği dönüşümleri (harita, filtre, dallanma, birleştirme, pencere, gaz kelebeği) bu uç noktayı MCR'den işlem artefaktlarını çekmek için kullanır. Bir registryEndpointRef: default kaynakta kullandığınızdaDataflowGraph, ekstra kayıt defteri yapılandırmasına ihtiyacınız olmuyor. Yerleşik dönüşümler hakkında daha fazla bilgi için bkz. Veri akışı graflarına genel bakış.

Uyarı

Özel WASM dönüşümleri veya üçüncü taraf yapıtları için, yapıtlarınızın depolandığı kayıt defterine işaret eden ayrı bir kayıt defteri uç noktası oluşturmanız gerekir.

Diğer kapsayıcı kayıt defterleri

Kayıt defteri uç noktaları Docker Hub, GitHub Container Registry (ghcr.io), Harbor, AWS Elastic Container Registry (ECR) ve Google Container Registry (GCR) gibi OCI uyumlu tüm kapsayıcı kayıt defterlerini destekler. Genel kayıt defterleri için anonim kimlik doğrulaması kullanın. Özel kayıt defterleri için yapıt çekme gizli dizilerini veya yönetilen kimlik kimlik doğrulamasını uygun şekilde kullanın.

Sonraki Adımlar