Azure sanal ağına Linux Service Fabric Linux kümesi dağıtma
Bu makalede, Azure CLI ve şablon kullanarak Bir Linux Service Fabric kümesini Azure sanal ağına (VNET) dağıtmayı öğreneceksiniz. Öğreticiyi tamamladığınızda, bulutta çalışan ve uygulama dağıtabileceğiniz bir kümeniz olur. PowerShell kullanarak Windows kümesi oluşturmak için bkz. Azure’da güvenli bir Windows kümesi oluşturma.
Önkoşullar
Başlamadan önce:
- Azure aboneliğiniz yoksa ücretsiz bir hesap oluşturun
- Service Fabric CLI'yı yükleyin
- Azure CLI'yı yükleme
- Kümelerin temel kavramlarını öğrenmek için Bkz . Azure kümelerine genel bakış
- Üretim kümesi dağıtımı planlama ve hazırlama .
Aşağıdaki yordamlar yedi düğümlü bir Service Fabric kümesi oluşturur. Azure’da Service Fabric kümesi çalıştırmaktan kaynaklanan maliyetleri hesaplamak için Azure Fiyatlandırma Hesaplayıcısı’nı kullanın.
Şablonu indirin ve keşfedin
Aşağıdaki Resource Manager şablonu dosyalarını indirin:
Ubuntu 18.04 LTS için:
- AzureDeploy.json
- vmImageSku özniteliği "18.04-LTS"
- Microsoft.ServiceFabric/clusters kaynağının
- apiVersion "2019-03-01" olarak ayarlanıyor
- vmImage özelliği "Ubuntu18_04" olarak ayarlanıyor
- AzureDeploy.Parameters.json
Ubuntu 20.04 LTS için:
- AzureDeploy.json
- vmImageSku özniteliği "20.04-LTS"
- Microsoft.ServiceFabric/clusters kaynağının
- apiVersion "2019-03-01" olarak ayarlanıyor
- vmImage özelliği "Ubuntu20_04" olarak ayarlanıyor
- AzureDeploy.Parameters.json
Bu şablonlar bir sanal ağa yedi sanal makine ve üç düğüm türünden oluşan güvenli bir küme dağıtır. Diğer örnek şablonlar GitHub'da bulunabilir. AzureDeploy.json aşağıdakiler de dahil olmak üzere bir dizi kaynak dağıtır.
Service Fabric kümesi
Microsoft.ServiceFabric/clusters kaynağında şu özelliklere sahip bir Linux kümesi dağıtılır:
- üç düğüm türü
- birincil düğüm türünde beş düğüm (şablon parametrelerinde yapılandırılabilir), diğer düğüm türlerinin her birinde bir düğüm
- İşletim sistemi: (Ubuntu 18.04 LTS / Ubuntu 20.04) (şablon parametrelerinde yapılandırılabilir)
- sertifikanın güvenliğinin sağlanması (şablon parametrelerinde yapılandırılabilir)
- DNS hizmeti etkin
- Bronz dayanıklılık düzeyi (şablon parametrelerinde yapılandırılabilir)
- Gümüş güvenilirlik düzeyi (şablon parametrelerinden yapılandırılabilir)
- istemci bağlantısı uç noktası: 19000 (şablon parametrelerinde yapılandırılabilir)
- HTTP ağ geçidi uç noktası: 19080 (şablon parametrelerinde yapılandırılabilir)
Azure yük dengeleyici
Microsoft.Network/loadBalancers kaynağında bir yük dengeleyici yapılandırılır ve aşağıdaki bağlantı noktaları için yoklamalar ve kurallar ayarlanır:
- istemci bağlantı uç noktası: 19000
- HTTP ağ geçidi uç noktası: 19080
- uygulama bağlantı noktası: 80
- uygulama bağlantı noktası: 443
Sanal ağ ve alt ağ
Sanal ağın ve alt ağın adları şablon parametrelerinde bildirilmiştir. Sanal ağın ve alt ağın adres alanları da şablon parametrelerinde bildirilir ve Microsoft.Network/virtualNetworks kaynağında yapılandırılır:
- sanal ağ adres alanı: 10.0.0.0/16
- Service Fabric alt ağ adres alanı: 10.0.2.0/24
Başka bir uygulama bağlantı noktası gerekiyorsa, gelen trafiğe izin vermek için Microsoft.Network/loadBalancers kaynağını ayarlamak gerekir.
Service Fabric Uzantısı
Microsoft.Compute/virtualMachineScaleSets kaynağında Service Fabric Linux uzantısı yapılandırılır. Bu uzantı, Service Fabric'i Azure Sanal Makineler önyüklemek ve Node Security'yi yapılandırmak için kullanılır.
Aşağıda Service Fabric Linux uzantısı için bir şablon parçacığı yer alır:
"extensions": [
{
"name": "[concat('ServiceFabricNodeVmExt','_vmNodeType0Name')]",
"properties": {
"type": "ServiceFabricLinuxNode",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"protectedSettings": {
"StorageAccountKey1": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('supportLogStorageAccountName')),'2015-05-01-preview').key1]",
},
"publisher": "Microsoft.Azure.ServiceFabric",
"settings": {
"clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
"nodeTypeRef": "[variables('vmNodeType0Name')]",
"durabilityLevel": "Silver",
"enableParallelJobs": true,
"nicPrefixOverride": "[variables('subnet0Prefix')]",
"certificate": {
"commonNames": [
"[parameters('certificateCommonName')]"
],
"x509StoreName": "[parameters('certificateStoreValue')]"
}
},
"typeHandlerVersion": "2.0"
}
},
Şablon parametrelerini ayarlama
AzureDeploy.Parameters dosyası, kümeyi ve ilişkili kaynakları dağıtmak için kullanılan birçok değeri bildirir. Dağıtımınız için değiştirmeniz gerekebilecek bazı parametreler:
Parametre | Örnek değer | Notlar |
---|---|---|
adminUserName | vmadmin | Küme VM’leri için yönetici kullanıcı adı. |
adminPassword | Password#1234 | Küme VM’leri için yönetici parolası. |
clusterName | mysfcluster123 | Kümenin adı. |
konum | Orta Güney ABD | Kümenin konumu. |
certificateThumbprint | Otomatik olarak imzalanan bir sertifika oluşturuluyor veya sertifika dosyası sağlanıyorsa değer boş olmalıdır. Daha önce bir anahtar kasasına yüklenmiş mevcut bir sertifikayı kullanmak için sertifika SHA1 parmak izi değerini girin. Örneğin: "6190390162C988701DB5676EB81083EA608DCCF3". |
|
certificateUrlValue | Otomatik olarak imzalanan bir sertifika oluşturuluyor veya sertifika dosyası sağlanıyorsa değer boş olmalıdır. Daha önce bir anahtar kasasına yüklenmiş mevcut bir sertifikayı kullanmak için sertifika URL’sini girin. Örneğin, "https://mykeyvault.vault.azure.net:443/secrets/mycertificate/02bea722c9ef4009a76c5052bcbf8346". |
|
sourceVaultValue | Otomatik olarak imzalanan bir sertifika oluşturuluyor veya sertifika dosyası sağlanıyorsa değer boş olmalıdır. Daha önce bir anahtar kasasına yüklenmiş mevcut bir sertifikayı kullanmak için kaynak kasa değerini girin. Örneğin: "/subscriptions/333cc2c84-12fa-5778-bd71-c71c07bf873f/resourceGroups/MyTestRG/providers/Microsoft.KeyVault/vaults/MYKEYVAULT". |
Sanal ağı ve kümeyi dağıtma
Ardından, ağ topolojisini ayarlayın ve Service Fabric kümesini dağıtın. AzureDeploy.json Resource Manager şablonu Service Fabric için bir sanal ağ (VNET) ve bir alt ağ oluşturur. Şablon tarafından sertifika güvenliği etkin bir küme de dağıtılır. Üretim kümeleri için küme sertifikası olarak bir sertifika yetkilisinden (CA) alınan bir sertifika kullanın. Test kümelerinin güvenliğinin sağlanması için otomatik olarak imzalanan bir sertifika kullanılabilir.
Bu makaledeki şablon, küme sertifikasını tanımlamak için sertifika parmak izini kullanan bir küme dağıtır. İki sertifika aynı parmak izine sahip olamaz ve bu da sertifika yönetimini daha zor hale getirir. Dağıtılan bir kümeyi sertifika parmak izinden sertifika ortak adlarını kullanmaya geçirme, sertifika yönetimini çok daha basit hale getirir. Kümeyi sertifika yönetimi için sertifika ortak adlarını kullanacak şekilde güncelleştirme hakkında bilgi edinmek için kümeyi sertifika ortak ad yönetimine değiştirme bölümüne bakın.
Mevcut bir sertifikayı kullanarak küme oluşturma
Aşağıdaki betik, mevcut bir sertifikayla güvenliği sağlanmış yeni bir küme dağıtmak için az sf cluster create komutunu ve şablonunu kullanır. Ayrıca, komut tarafından Azure’da yeni bir anahtar kasası oluşturulur ve sertifikanız karşıya yüklenir.
ResourceGroupName="sflinuxclustergroup"
Location="southcentralus"
Password="q6D7nN%6ck@6"
VaultName="linuxclusterkeyvault"
VaultGroupName="linuxclusterkeyvaultgroup"
CertPath="C:\MyCertificates\MyCertificate.pem"
# sign in to your Azure account and select your subscription
az login
az account set --subscription <guid>
# Create a new resource group for your deployment and give it a name and a location.
az group create --name $ResourceGroupName --location $Location
# Create the Service Fabric cluster.
az sf cluster create --resource-group $ResourceGroupName --location $Location \
--certificate-password $Password --certificate-file $CertPath \
--vault-name $VaultName --vault-resource-group $ResourceGroupName \
--template-file AzureDeploy.json --parameter-file AzureDeploy.Parameters.json
Yeni ve otomatik olarak imzalanan bir sertifika ile küme oluşturma
Aşağıdaki betik, Azure'a yeni bir küme dağıtmak için az sf cluster create komutunu ve bir şablonu kullanır. Komut ayrıca Azure'da yeni bir anahtar kasası oluşturur, anahtar kasasına otomatik olarak imzalanan yeni bir sertifika ekler ve sertifika dosyasını yerel olarak indirir.
ResourceGroupName="sflinuxclustergroup"
ClusterName="sflinuxcluster"
Location="southcentralus"
Password="q6D7nN%6ck@6"
VaultName="linuxclusterkeyvault"
VaultGroupName="linuxclusterkeyvaultgroup"
CertPath="C:\MyCertificates"
az sf cluster create --resource-group $ResourceGroupName --location $Location \
--cluster-name $ClusterName --template-file C:\temp\cluster\AzureDeploy.json \
--parameter-file C:\temp\cluster\AzureDeploy.Parameters.json --certificate-password $Password \
--certificate-output-folder $CertPath --certificate-subject-name $ClusterName.$Location.cloudapp.azure.com \
--vault-name $VaultName --vault-resource-group $ResourceGroupName
Güvenli kümeye bağlanma
Anahtarınızı kullanarak, Service Fabric CLI sfctl cluster select
komutunu kullanan kümeye bağlanın. Otomatik olarak imzalanan sertifika için yalnızca --no-verify seçeneğinin kullanılması gerektiğini göz önünde bulundurun.
sfctl cluster select --endpoint https://aztestcluster.southcentralus.cloudapp.azure.com:19080 \
--pem ./aztestcluster201709151446.pem --no-verify
Bağlı olup olmadığınızı ve kümenin sağlıklı olup olmadığını denetlemek için sfctl cluster health
komutunu kullanın.
sfctl cluster health
Kaynakları temizleme
Hemen bir sonraki makaleye geçmeyecekseniz ücret alınmaması için kümeyi silmeniz iyi olur.
Sonraki adımlar
Kümeyi ölçeklendirmeyi öğrenin.
Bu makaledeki şablon, küme sertifikasını tanımlamak için sertifika parmak izini kullanan bir küme dağıtır. İki sertifika aynı parmak izine sahip olamaz ve bu da sertifika yönetimini daha zor hale getirir. Dağıtılan bir kümeyi sertifika parmak izinden sertifika ortak adlarını kullanmaya geçirme, sertifika yönetimini çok daha basit hale getirir. Kümeyi sertifika yönetimi için sertifika ortak adlarını kullanacak şekilde güncelleştirme hakkında bilgi edinmek için kümeyi sertifika ortak ad yönetimine değiştirme bölümüne bakın.