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:
- Azure IoT Orchestrator Preview
- Azure IoT MQ Önizlemesi
- Veri oluşturmaya başlamak için simülasyon termostat varlığı ile Azure IoT OPC UA Broker Önizlemesi
- Simülasyon verilerini yönlendirmeye başlamak için bir tanıtım işlem hattı ile Azure IoT Veri İşlemcisi Önizlemesi
- Azure IoT Akri Preview
- Azure Cihaz Kayıt Defteri Önizlemesi
- Azure IoT Katmanlı Ağ Yönetimi Önizlemesi
- Gözlemlenebilirlik
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:
- Bir Kubernetes kümesi oluşturun ve uzaktan yönetim için bunu Azure Arc'a bağlayın.
- Kümenizin gizli dizilerini yönetmek için bir Azure Key Vault oluşturun.
- Bulut kaynaklarıyla iletişim kurmak için kümenizi bir gizli dizi deposu ve hizmet sorumlusuyla yapılandırın.
- 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:
- Basit bir Kubernetes kümesi için K3d'de çalışan K3'ler
- Azure CLI
- Kubernetes kaynaklarını yönetmek için Kubectl
- Helm ve k9s gibi diğer kullanışlı araçlar
Codespace ve kümenizi oluşturmak için aşağıdaki adımları kullanın:
GitHub Codespaces'ta bir kod alanı oluşturun.
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.Yeni kod alanı oluştur'u seçin.
Kod alanı hazır olduğunda sol üstteki menü düğmesini seçin ve ardından VS Code Desktop'ta Aç'ı seçin.
İstenirse Visual Studio Code için GitHub Codespaces uzantısını yükleyin ve GitHub'da oturum açın.
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:
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.
- 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
Tüm komutlar için Azure aboneliği bağlamını ayarlayın:
az account set -s $SUBSCRIPTION_ID
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"
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
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.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)
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.
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_NAME
kı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.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:
Kaynak grubuna genel bakış bölümünden kümenizin adını seçin.
Kümenizde, menünün Ayarlar bölümünde Uzantılar'ı seçin.
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.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.
Azure portalındaki kaynak grubunuzda kümenizi seçin.
Küme kaynağı sayfanızda Uzantılar'ı seçin.
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.
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.