Aracılığıyla paylaş


Hızlı Başlangıç: Arc özellikli kubernetes kümesine Azure IoT İşlemleri Önizlemesi dağıtma

Önemli

Azure Arc tarafından etkinleştirilen Azure IoT İşlemleri Önizlemesi şu anda ÖNİzLEME aşamasındadır. Bu önizleme yazılımını üretim ortamlarında kullanmamalısınız.

Beta veya önizleme aşamasında olan ya da başka bir şekilde henüz genel kullanıma sunulmamış olan Azure özelliklerinde geçerli olan yasal koşullar için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

Bu hızlı başlangıçta, cihazlarınızı ve iş yüklerinizi uzaktan yönetebilmeniz için Bir IoT hizmetleri paketini Azure Arc özellikli kubernetes kümesine dağıtacaksınız. Azure IoT İşlemleri, Azure IoT Orchestrator Preview içeren bir dijital operasyon hizmetleri paketidir. Bu hızlı başlangıç, Orchestrator'ı kullanarak bu hizmetleri bir Kubernetes kümesine dağıtmada size yol gösterir. Hızlı başlangıcın sonunda, aşağıdaki hızlı başlangıçlarda kullanmak üzere örnek veriler oluşturan buluttan yönetebileceğiniz bir kümeniz vardır.

Bu hızlı başlangıçta dağıtılan hizmetler şunlardır:

Bu serideki aşağıdaki hızlı başlangıçlar örnek varlıkları, veri işleme işlem hatlarını ve görselleştirmeleri tanımlamak için bunu temel alır. Kendi iş yüklerinizi çalıştırmak için Azure IoT İşlemlerini AKS Edge Essentials gibi bir kümeye dağıtmak istiyorsanız bkz . Azure Arc özellikli Kubernetes kümenizi hazırlama ve Azure IoT İşlemleri Önizleme uzantılarını bir Kubernetes kümesine dağıtma.

Başlamadan önce

Bu hızlı başlangıç serisi, uçtan uca senaryoları değerlendirebilmeniz için Azure IoT İşlemleri'ne mümkün olan en kısa sürede başlamanıza yardımcı olmak için tasarlanmıştır. Gerçek bir geliştirme veya üretim ortamında, bu görevler birlikte çalışan birden çok ekip tarafından gerçekleştirilir ve bazı görevler yükseltilmiş izinler gerektirebilir.

En iyi yeni kullanıcı deneyimi için, bu hızlı başlangıçlarda kaynaklar üzerinde sahip izinlerine sahip olmanız için ücretsiz bir Azure hesabı kullanmanızı öneririz. Ayrıca GitHub Codespaces'ı kendi makinelerinize yeni araçlar yüklemeden kaynakları dağıtmaya ve komutları çalıştırmaya hızlı bir şekilde başlayabileceğiniz bir sanal ortam olarak kullanmaya yönelik adımlar da sağlıyoruz.

Önkoşullar

Bu hızlı başlangıçta, Azure IoT İşlemleri dağıtımını almak için bir Kubernetes kümesi oluşturacaksınız.

Bu hızlı başlangıcı zaten Azure IoT İşlemleri'nin dağıtılmış olduğu bir kümeyle yeniden çalıştırmak istiyorsanız devam etmeden önce Azure IoT İşlemlerini kaldırmak için Kaynakları temizleme başlığı altında yer alan adımlara bakın.

Başlamadan önce aşağıdaki önkoşulları hazırlayın:

  • Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir abonelik oluşturun.

  • Bir GitHub hesabı.

  • Geliştirme makinenizde yüklü Visual Studio Code. Daha fazla bilgi için bkz . Visual Studio Code'ı indirme.

Hangi sorunu çözeceğiz?

Azure IoT İşlemleri, Kubernetes kümelerinde çalışan bir veri hizmetleri paketidir. Bu kümelerin buluttan uzaktan yönetilmesini ve bulut kaynakları ve uç noktalarıyla güvenli bir şekilde iletişim kurabilmesini istiyorsunuz. Bu hızlı başlangıçta bu endişeleri aşağıdaki görevlerle ele alıyoruz:

  1. Bir Kubernetes kümesi oluşturun ve uzaktan yönetim için bunu Azure Arc'a bağlayın.
  2. Kümenizin gizli dizilerini yönetmek için bir Azure Key Vault oluşturun.
  3. Bulut kaynaklarıyla iletişim kurmak için kümenizi bir gizli dizi deposu ve hizmet sorumlusuyla yapılandırın.
  4. Azure IoT İşlemlerini kümenize dağıtın.

Kubernetes kümesini Azure Arc'a Bağlan

Azure IoT İşlemleri, Cloud Native Computing Foundation (CNCF) standartlarına uygun tüm Kubernetes kümelerinde çalışmalıdır. Hız ve kolaylık sağlamak için bu hızlı başlangıçta kümenizi barındırmak için GitHub Codespaces kullanılmaktadır.

Önemli

Kod alanları kolayca ayarlanabilir ve daha sonra açılır ancak performans değerlendirmesi veya ölçek testi için uygun değildir. Yalnızca araştırma için GitHub Codespaces'i kullanın. Azure IoT İşlemlerini AKS Edge Essentials gibi bir üretim kümesine dağıtmayı öğrenmek için bkz . Azure Arc özellikli Kubernetes kümenizi hazırlama.

Bu bölümde yeni bir küme oluşturacak ve bunu Azure Arc'a bağlayacaksınız. Azure IoT İşlemlerini daha önce dağıttığınız bir kümeyi yeniden kullanmak istiyorsanız devam etmeden önce Azure IoT İşlemlerini kaldırmak için kaynakları temizleme başlığı altında yer alan adımlara bakın.

Yerel makinenize hiçbir şey yüklemeden Kubernetes kümesinde Azure IoT İşlemlerini denemek için GitHub Codespaces'ı kullanın. Azure-Samples/explore-iot-operations kod alanı aşağıdakilerle önceden yapılandırılmıştır:

Codespace ve kümenizi oluşturmak için aşağıdaki adımları kullanın:

  1. GitHub Codespaces'ta bir kod alanı oluşturun.

    Explore-iot-operations kod alanı oluşturma

  2. Codespace'iniz için aşağıdaki önerilen gizli dizileri sağlayın:

    Parametre Value
    SUBSCRIPTION_ID Azure abonelik kimliğiniz.
    RESOURCE_GROUP Kümenizin oluşturulacağı yeni bir Azure kaynak grubunun adı.
    KONUM Size yakın bir Azure bölgesi. Genel önizlemede şu bölgeler desteklenir: eastus, eastus2, westus, westus2, westus3, westeurope veya northeurope.

    İpucu

    Bu adımda gizli dizi olarak sağladığınız değerler, bu ve gelecekteki kod boşluklarında kullanılmak üzere GitHub hesabınıza kaydedilir. Bunlar ayrıca otomatik olarak kod alanı terminalinde ortam değişkenleri olarak eklenir ve bu ortam değişkenlerini sonraki bölümdeki CLI komutlarında kullanabilirsiniz.

    Buna ek olarak, bu codespace otomatik olarak codespace adıyla ayarlanmış bir CLUSTER_NAME ortam değişkeni oluşturur.

  3. Yeni kod alanı oluştur'u seçin.

  4. Kod alanı hazır olduğunda sol üstteki menü düğmesini seçin ve ardından VS Code Desktop'ta Aç'ı seçin.

    VS Code masaüstünü açma

  5. İstenirse Visual Studio Code için GitHub Codespaces uzantısını yükleyin ve GitHub'da oturum açın.

  6. Visual Studio Code'da Terminali Görüntüle'yi>seçin.

    Kümenizi yönetmek için tüm komut satırını ve CLI komutlarını çalıştırmak için bu terminali kullanın.

Kümenizi Azure Arc'a bağlamak için:

  1. Kod alanı terminalinizde Azure CLI'da oturum açın:

    az login
    

    İpucu

    VS Code masaüstü yerine bir tarayıcıda GitHub codespace ortamını kullanıyorsanız, çalıştırma az login bir localhost hatası döndürür. Hatayı düzeltmek için:

    • VS Code masaüstünde codespace'i açın ve ardından tarayıcı terminaline dönün ve komutunu yeniden çalıştırın az login.
    • Alternatif olarak, tarayıcıda localhost hatasını aldıktan sonra tarayıcıdan URL'yi kopyalayın ve yeni bir terminal sekmesinde çalıştırın curl "<URL>" . "Microsoft Azure'da oturum açtınız!" iletisini içeren bir JSON yanıtı görmeniz gerekir.
  2. Tüm komutlar için Azure aboneliği bağlamını ayarlayın:

    az account set -s $SUBSCRIPTION_ID
    
  3. Gerekli kaynak sağlayıcılarını aboneliğinize kaydedin:

    Not

    Bu adımın abonelik başına yalnızca bir kez çalıştırılması gerekir.

    az provider register -n "Microsoft.ExtendedLocation"
    az provider register -n "Microsoft.Kubernetes"
    az provider register -n "Microsoft.KubernetesConfiguration"
    az provider register -n "Microsoft.IoTOperationsOrchestrator"
    az provider register -n "Microsoft.IoTOperationsMQ"
    az provider register -n "Microsoft.IoTOperationsDataProcessor"
    az provider register -n "Microsoft.DeviceRegistry"
    
  4. Azure aboneliğinizde tüm kaynakları depolamak üzere bir kaynak grubu oluşturmak için az group create komutunu kullanın:

    az group create --location $LOCATION --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
    
  5. Kubernetes kümenizi arc-enable için az connectedk8s connect komutunu kullanın ve Azure kaynak grubunuzun bir parçası olarak yönetin:

    az connectedk8s connect -n $CLUSTER_NAME -l $LOCATION -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
    

    İpucu

    değeri $CLUSTER_NAME otomatik olarak kod alanınızın adına ayarlanır. Farklı bir ad kullanmak istiyorsanız ortam değişkenini değiştirin.

  6. objectId Azure Arc hizmetinin kullandığı Microsoft Entra ID uygulamasını alın ve bir ortam değişkeni olarak kaydedin.

    export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
    
  7. Kümenizde özel konum desteğini etkinleştirmek için az connectedk8s enable-features komutunu kullanın. Bu komut, Azure Arc hizmetinin kullandığı Microsoft Entra ID uygulamasını kullanır objectId .

    az connectedk8s enable-features -n $CLUSTER_NAME -g $RESOURCE_GROUP --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
    

Kümeyi doğrulama

Küme konağınızdaki verify-host komutunu kullanarak küme konağınızın dağıtım için doğru yapılandırıldığını doğrulamak için Azure CLI için Azure IoT İşlemleri uzantısını kullanın:

az iot ops verify-host

Bu yardımcı komut, Azure Resource Manager ve Microsoft Container Registry uç noktalarına bağlantıyı denetler.

Azure IoT İşlemleri Önizlemesini Dağıtma

Bu bölümde az iot ops init komutunu kullanarak kümenizi Azure IoT İşlemleri bileşenleriniz ve anahtar kasanızla güvenli bir şekilde iletişim kuracak şekilde yapılandıracak ve ardından Azure IoT İşlemlerini dağıtacaksınız.

Codespaces terminalinizde aşağıdaki CLI komutlarını çalıştırın.

  1. Anahtar kasası oluşturma. Bu senaryo için kümenizle aynı adı ve kaynak grubunu kullanacağız. Keyvault adları en fazla 24 karakter uzunluğundadır, bu nedenle aşağıdaki komut gerekirse ortam değişkenini CLUSTER_NAMEkısaltıyor.

    az keyvault create --enable-rbac-authorization false --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP
    

    İpucu

    Gizli dizileriniz için mevcut bir anahtar kasasını kullanabilirsiniz, ancak İzin modelinin Kasa erişim ilkesi olarak ayarlandığını doğrulayın. Bu ayarı Azure portalında mevcut bir anahtar kasasının Erişim yapılandırması bölümünden de kontrol edebilirsiniz. Bunun yanlış olup olmadığını enableRbacAuthorization denetlemek için az keyvault show komutunu da kullanabilirsiniz.

  2. Azure IoT İşlemlerini dağıtma. Bu komutun tamamlanması birkaç dakika sürer:

    az iot ops init --simulate-plc --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --kv-id $(az keyvault show --name ${CLUSTER_NAME:0:24} -o tsv --query id)
    

    Kaynağınıza erişmek için cihazınızın yönetilmesi gerektiğini belirten bir hata alırsanız yeniden çalıştırın az login ve bir tarayıcıyla etkileşimli olarak oturum açtığınızdan emin olun.

    İpucu

    Daha önce çalıştırdıysanız az iot ops init , sizin için Microsoft Entra Id'de otomatik olarak bir uygulama kaydı oluşturulur. Her seferinde yeni kayıt oluşturmak yerine bu kaydı yeniden kullanabilirsiniz. Mevcut bir uygulama kaydını kullanmak için isteğe bağlı parametresini --sp-app-id <APPLICATION_CLIENT_ID>ekleyin.

Kümenizdeki kaynakları görüntüleme

Dağıtım devam ederken, kümenize uygulanan kaynakları izleyebilirsiniz. Kümedeki değişiklikleri gözlemlemek için kubectl komutlarını kullanabilir veya küme Arc özellikli olduğundan Azure portalını kullanabilirsiniz.

Kümenizdeki podları görüntülemek için aşağıdaki komutu çalıştırın:

kubectl get pods -n azure-iot-operations

Dağıtımın tamamlanması birkaç dakika sürebilir. Görünümünüzü yenilemek get pods için komutunu çalıştırmaya devam edin.

Kümenizi Azure portalında görüntülemek için aşağıdaki adımları kullanın:

  1. Azure portalında kümenizi içeren kaynak grubuna gidin.

  2. Kaynak grubuna genel bakış bölümünden kümenizin adını seçin.

  3. Kümenizde, menünün Ayarlar bölümünde Uzantılar'ı seçin.

    Arc özellikli kümenizde dağıtılan uzantıları gösteren ekran görüntüsü.

    Kümenizin tüm Azure IoT İşlemleri bileşenleri ve düzenleme hizmeti için grup adı olan microsoft.iotoperations.x türündeki uzantıları çalıştırdığını görebilirsiniz. Bu uzantılar, dağıtımınızı tanımlayan benzersiz bir son eke sahiptir. Önceki ekran görüntüsünde, bu sonek -z2ewy şeklindedir.

    Ayrıca akvsecretsprovider adlı bir uzantı da vardır. Bu uzantı, komutuyla yapılandırdığınız ve kümenize yüklediğiniz gizli dizi sağlayıcısıdır az iot ops init . Test sırasında Azure IoT İşlemleri bileşenlerini silebilir ve yeniden yükleyebilirsiniz, ancak gizli dizi sağlayıcısı uzantısını kümenizde tutabilirsiniz.

  4. Uzantının mq-... adlı tam adını not edin. Aşağıdaki hızlı başlangıçlarda bu adı kullanırsınız.

Sorunu nasıl çözdük?

Bu hızlı başlangıçta Arc özellikli Kubernetes kümenizi Azure IoT İşlemleri bileşenlerinizle güvenli bir şekilde iletişim kurabilecek şekilde yapılandırmışsınız. Ardından bu bileşenleri kümenize dağıttınız. Bu test senaryosunda, büyük olasılıkla makinenizde yerel olarak çalışan tek bir Kubernetes kümeniz vardır. Ancak bir üretim senaryosunda, iş yüklerini birçok sitedeki birçok kümeye dağıtmak için aynı adımları kullanabilirsiniz.

Kaynakları temizleme

Sonraki hızlı başlangıçta devam ediyorsanız tüm kaynaklarınızı koruyun.

Azure IoT İşlemleri dağıtımını silmek ancak kümenize yeniden yüklemeyi planlıyorsanız, gizli dizi sağlayıcısını kümenizde tuttuğunuzdan emin olun.

  1. Azure portalındaki kaynak grubunuzda kümenizi seçin.

  2. Küme kaynağı sayfanızda Uzantılar'ı seçin.

  3. microsoft.iotoperations.x ve microsoft.deviceregistry.assets türündeki tüm uzantıları seçin ve ardından Kaldır'ı seçin. Gizli dizi sağlayıcısı uzantısını kaldırmayın.

    Kaldırılmaya yönelik uzantıları gösteren ekran görüntüsü.

  4. Kaynak grubunuza dönün ve özel konum kaynağını ve ardından Sil'i seçin.

Bu hızlı başlangıç için oluşturduğunuz tüm kaynakları silmek istiyorsanız, Azure IoT İşlemlerini dağıttığınız Kubernetes kümesini silin ve kümeyi içeren Azure kaynak grubunu kaldırın.

Sonraki adım