Azure Resource Manager kullanarak yönetilen kümede uygulama yaşam döngüsünü yönetme
Service Fabric yönetilen kümenizde Azure Service Fabric uygulamalarını dağıtmak için birden çok seçeneğiniz vardır. Azure Resource Manager'ın kullanılmasını öneririz. Resource Manager kullanıyorsanız, JSON'da uygulamaları ve hizmetleri açıklayabilir ve sonra bunları kümenizle aynı Resource Manager şablonunda dağıtabilirsiniz. Uygulamaları dağıtmak ve yönetmek için PowerShell veya Azure CLI kullanmanın aksine, Resource Manager kullanıyorsanız kümenin hazır olmasını beklemeniz gerekmez; uygulama kaydı, sağlama ve dağıtım tek adımda gerçekleşebilir. Resource Manager'ı kullanmak, kümenizdeki uygulama yaşam döngüsünü yönetmenin en iyi yoludur. Daha fazla bilgi için bkz . En iyi yöntemler: Kod olarak altyapı.
Uygulamalarınızı Resource Manager'da kaynak olarak yönetmek, şu alanlarda geliştirmeler kazanmanıza yardımcı olabilir:
- Denetim izi: Resource Manager her işlemi denetler ve ayrıntılı bir etkinlik günlüğü tutar. Etkinlik günlüğü, uygulamalarda ve kümenizde yapılan değişiklikleri izlemenize yardımcı olabilir.
- Rol tabanlı erişim denetimi: Aynı Resource Manager şablonunu kullanarak kümelere ve kümede dağıtılan uygulamalara erişimi yönetebilirsiniz.
- Yönetim verimliliği: Resource Manager'ı kullanmak, kümenizi ve kritik uygulama dağıtımlarınızı yönetmek için tek bir konum (Azure portalı) sağlar.
Bu belgede şunları nasıl yapacağınızı öğreneceksiniz:
- Resource Manager'ı kullanarak service fabric uygulama kaynaklarını dağıtın.
- Resource Manager kullanarak service fabric uygulama kaynaklarını yükseltin.
- Service Fabric uygulama kaynaklarını silin.
Not
Bu belge, Service Fabric yönetilen kümesi dağıtmayla başlayan dört bölümden oluşan bir öğretici serisinin dördüncü bölümüdür. Bu nedenle, bu adımdan önce kümenizi dağıtmanız beklenir. Ancak, kümenizi ve uygulamanızı aynı ARM veya Bicep şablonunda birlikte dağıtmak istiyorsanız, bunun üzerinde nodeType
bir bağımlılığı olması versions
gerektiğini bilin. Aksi takdirde dağıtım başarısız olur.
Service Fabric uygulama kaynaklarını dağıtma
Resource Manager uygulama kaynak modelini kullanarak bir uygulamayı ve hizmetlerini dağıtmak için atabileceğiniz üst düzey adımlar şunlardır:
- Uygulama kodunu paketleyin.
- Paketi karşıya yükleyin.
- Resource Manager şablonundaki paketin konumuna uygulama kaynağı olarak başvurun.
Daha fazla bilgi için Uygulama paketleme'yi görüntüleyin.
Ardından bir Resource Manager şablonu oluşturur, parametre dosyasını uygulama ayrıntılarıyla güncelleştirir ve şablonu Service Fabric yönetilen kümesine dağıtırsınız. Örnekleri keşfedin.
Depolama hesabı oluşturma
Resource Manager şablonundan bir uygulama dağıtmak için bir depolama hesabınız olmalıdır. Depolama hesabı, uygulama görüntüsünü hazırlamak için kullanılır.
Mevcut bir depolama hesabını yeniden kullanabilir veya uygulamalarınızı hazırlamaya yönelik yeni bir depolama hesabı oluşturabilirsiniz. Mevcut bir depolama hesabı kullanıyorsanız bu adımı atlayabilirsiniz.
Dikkat
Depolama hesabınızdaki blob verilerine anonim genel erişim bir güvenlik riski oluşturur. Depolama hesabı oluşturduğunuzda, AllowBlobPublicAccess özelliğini false olarak ayarlayarak blob verilerine anonim genel erişimi hesap düzeyinde devre dışı bırakmanızı öneririz. Daha fazla bilgi için bkz . Blob verilerine anonim genel okuma erişimini düzeltme (Azure Resource Manager dağıtımları).
Depolama hesabınızı yapılandırma
Depolama hesabı oluşturulduktan sonra, uygulamaların hazırlandığı bir blob kapsayıcısı oluşturursunuz. Azure portalında, uygulamalarınızı depolamak istediğiniz Azure Depolama hesabına gidin. Bloblar>Kapsayıcı Ekle'yi seçin.
Kapsayıcıya erişim izni vermek için aşağıdaki yollardan birini kullanabilirsiniz:
- Güvenlik sorumlusunun Microsoft Entra yetkilendirmesi aracılığıyla kapsayıcıdaki verilere erişebilmesi için kapsayıcıya izinler veren bir Azure RBAC rolü atayabilirsiniz. Daha fazla bilgi için bkz . Microsoft Entra Id kullanarak bloblara erişimi yetkilendirme.
- Kapsayıcıdaki bloblara sınırlı bir süre ve belirli izinlerle istemci erişimi vermek için paylaşılan erişim imzasıyla kapsayıcıya erişim yetkisi vekleyebilirsiniz. Daha fazla bilgi için bkz . Paylaşılan erişim imzalarını (SAS) kullanarak Azure Depolama kaynaklarına sınırlı erişim verme.
- Blob verilerine erişimi yetkilendirmek için hesap erişim anahtarlarını kullanabilirsiniz. Bu yaklaşım en az güvenlidir ve bu nedenle önerilmez.
Uygulamayı depolama hesabınızda hazırlama
Bir uygulamayı dağıtabilmeniz için önce uygulamayı blob depolamada hazırlamanız gerekir. Bu öğreticide uygulama paketini el ile oluşturacağız. Bu adımın otomatik olarak gerçekleştirilebileceğini unutmayın. Daha fazla bilgi için bkz . Uygulama paketleme.
Bu öğreticide Voting örnek uygulamasını kullanacağız.
Visual Studio'da Oylama projesine sağ tıklayın ve paketle'yi seçin.
.\service-fabric-dotnet-quickstart\Voting\pkg\Debug dizinine gidin. İçeriği Voting.zip adlı bir dosyaya sıkıştırın. ApplicationManifest.xml dosyası zip dosyasının kökünde olmalıdır.
Uzantıyı .zip olarak .sfpkg olarak değiştirmek için dosyayı yeniden adlandırın.
Azure portalında, depolama hesabınızın uygulamalar kapsayıcısında Karşıya Yükle'yi seçin ve voting.sfpkg dosyasını karşıya yükleyin.
Artık uygulama hazırlanmıştır ve uygulamayı dağıtmak için Resource Manager şablonunu oluşturabilirsiniz.
Resource Manager şablonu oluşturma
Örnek uygulama, uygulamayı dağıtmak için kullanabileceğiniz Azure Resource Manager şablonlarını içerir. Şablon dosya adları UserApp.json ve UserApp.Parameters.json.
Not
UserApp.Parameters.json dosyası kümenizin adıyla güncelleştirilmelidir.
Parametre | Açıklama | Örnek | Açıklamalar |
---|---|---|---|
clusterName | Dağıtmakta olduğunuz kümenin adı | sf-cluster123 | |
uygulama | Uygulamanın adı | Oylama | |
sürüm | Uygulamanın kaynak kimliği, uygulama türü ve sürümü. | /providers/Microsoft.ServiceFabric/managedClusters/sf-cluster-123/applicationTypes/VotingType/versions/1.0.0 | ApplicationManifest.xml eşleşmelidir |
serviceName | Hizmetin adı | VotingWeb | ServiceType biçiminde olmalıdır |
serviceTypeName | Hizmetin tür adı | VotingWebType | ServiceManifest.xml eşleşmelidir |
appPackageUrl | Uygulamanın blob depolama URL'si | https://servicefabricapps.blob.core.windows.net/apps/Voting.sfpkg | Blob depolamadaki uygulama paketinin URL'si (URL'yi ayarlama yordamı makalenin devamında açıklanmıştır) |
{
"apiVersion": "2021-05-01",
"type": "Microsoft.ServiceFabric/managedclusters/applications",
"name": "[concat(parameters('clusterName'), '/', parameters('applicationName'))]",
"location": "[variables('clusterLocation')]",
},
{
"apiVersion": "2021-05-01",
"type": "Microsoft.ServiceFabric/managedclusters/applicationTypes",
"name": "[concat(parameters('clusterName'), '/', parameters('applicationTypeName'))]",
"location": "[variables('clusterLocation')]",
},
{
"apiVersion": "2021-05-01",
"type": "Microsoft.ServiceFabric/managedclusters/applicationTypes/versions",
"name": "[concat(parameters('clusterName'), '/', parameters('applicationTypeName'), '/', parameters('applicationTypeVersion'))]",
"location": "[variables('clusterLocation')]",
},
{
"apiVersion": "2021-05-01",
"type": "Microsoft.ServiceFabric/managedclusters/applications/services",
"name": "[concat(parameters('clusterName'), '/', parameters('applicationName'), '/', parameters('serviceName'))]",
"location": "[variables('clusterLocation')]"
}
Service Fabric uygulamasını dağıtma
Uygulamayı kümenizi içeren kaynak grubuna dağıtmak için New-AzResourceGroupDeployment cmdlet'ini çalıştırın:
New-AzResourceGroupDeployment -ResourceGroupName "sf-cluster-rg" -TemplateParameterFile ".\UserApp.Parameters.json" -TemplateFile ".\UserApp.json" -Verbose
Resource Manager kullanarak Service Fabric uygulamasını yükseltme
Önemli
Azure Resource Manager (ARM) şablonu aracılığıyla dağıtılan tüm hizmetler, ilgili ApplicationManifest.xml dosyasının DefaultServices bölümünden kaldırılmalıdır.
Service Fabric kümesine dağıtılmış olan bir uygulamayı şu nedenlerden biri nedeniyle yükseltebilirsiniz:
Uygulamaya yeni bir hizmet eklenir. Uygulamaya bir hizmet eklendiğinde service-manifest.xml ve application-manifest.xml dosyalarına hizmet tanımı eklenmelidir. Uygulamanın yeni bir sürümünü yansıtmak için, UserApp.Parameters.json'de uygulama türü sürümünü 1.0.0'dan 1.0.1'e de değiştirmeniz gerekir:
"applicationTypeVersion": { "value": "1.0.1" }, "serviceName2": { "value": "VotingData" }, "serviceTypeName2": { "value": "VotingDataType" }
Uygulamaya mevcut bir hizmetin yeni bir sürümü eklenir. Örnek olarak uygulama kodu değişiklikleri ve uygulama türü sürümü ve adı güncelleştirmeleri verilebilir. Bu yükseltme için aşağıdaki gibi UserApp.Parameters.json güncelleştirin:
"applicationTypeVersion": { "value": "1.0.1" }
Service Fabric uygulama kaynaklarını silme
Not
Tek tek kaynakları temizlemenin bildirim temelli bir yolu olmadığından uygulamalar Azure Resource Manager (ARM) şablonu aracılığıyla silinmemelidir
Resource Manager'da uygulama kaynak modeli kullanılarak dağıtılan bir service fabric uygulamasını silmek için:
Uygulamanın kaynak kimliğini almak için Get-AzResource cmdlet'ini kullanın:
Get-AzResource -Name <String> | f1
Uygulama kaynaklarını silmek için Remove-AzServiceFabricApplication cmdlet'ini kullanın:
Remove-AzServiceFabricApplication -ResourceId <String> [-Force]
Klasikten yönetilen kümelere geçiş
Uygulamaları klasik kümelerden yönetilen kümelere geçiriyorsanız, türlerin doğru belirtildiğinden emin olmanız gerekir veya hatalarla karşılaşırsınız.
Aşağıdaki öğeler kullanım sıklığı nedeniyle özel olarak çağrılır, ancak özel bir fark listesi olarak tasarlanmamıştır.
- upgradeReplicaSetCheckTimeout artık yönetilen için bir tamsayıdır, ancak klasik SFRP'de bir dizedir.
Özelliklerin ve türlerin tam listesi için bkz. yönetilen kümeler uygulamaları kaynak türleri
Sonraki adımlar
Yönetilen küme uygulaması dağıtımı hakkında daha fazla bilgi edinin: