Linux Service Fabric bir Azure sanal ağına dağıtma

Bu makalede, Azure CLI ve bir şablon kullanarak linux Service Fabric Azure sanal ağına (VNET) dağıtmayı öğrenirsiniz. Bitirdikten sonra, bulutta çalışan ve uygulamaları dağıtabilirsiniz bir kümeye sahip oluruz. PowerShell kullanarak Windows küme oluşturmak için bkz. Azure'da güvenli Windows küme oluşturma.

Önkoşullar

Başlamadan önce:

Aşağıdaki yordamlar küme için yedi düğümlü Service Fabric oluşturabilir. Azure'da bir depolama kümesi çalıştırarak ortaya Service Fabric hesaplamak için Azure Fiyatlandırma Hesaplayıcısı'ni kullanın.

Şablonu indirme ve keşfetme

Aşağıdaki Kaynak Yöneticisi şablon dosyalarını indirin:

Ubuntu 16.04 LTS için:

Ubuntu 18.04 LTS için:

Ubuntu 18.04 LTS için iki şablon arasındaki fark

  • "18.04-LTS" olarak ayarlanmış vmImageSku özniteliği
  • her düğümün TypeHandlerVersion 1.1 olarak ayarlanır
  • Microsoft.ServiceFabric/clusters kaynağı
    • apiVersion "2019-03-01" veya daha yüksek bir sürüme ayar yapılıyor
    • vmImage özelliği "özel" Ubuntu18_04

Bu şablon, yedi sanal makine ve üç düğüm türü güvenli bir kümeyi sanal ağa dağıtır. Diğer örnek şablonlar GitHub. AzureDeploy.json, aşağıdakiler de içinde olmak üzere bir sayı kaynağı dağıtır.

Service Fabric kümesi

Microsoft.ServiceFabric/clusters kaynağında, aşağıdaki özelliklerle birlikte bir Linux kümesi dağıtılır:

  • üç düğüm türü
  • birincil düğüm türüdeki beş düğüm (şablon parametrelerinde yapılandırılabilir), diğer düğüm türlerinden her birinin bir düğümü
  • Işletim Sistemi: (Ubuntu 16.04 LTS / Ubuntu 18.04 LTS) (şablon parametrelerinde yapılandırılabilir)
  • sertifika güvenliği (şablon parametrelerinde yapılandırılabilir)
  • DNS hizmeti etkinleştirildi
  • Bronz'ın dayanıklılık düzeyi (şablon parametrelerinde yapılandırılabilir)
  • Gümüş güvenilirlik düzeyi (şablon parametrelerinde 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 dengeleyicisi

Microsoft.Network/loadBalancers kaynağında, aşağıdaki bağlantı noktaları için yük dengeleyici yapılandırıldı, yük dengeleyicisi yapılandırıldı ve kurallar ayarlanıyor:

  • istemci bağlantısı 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 bildirilen bir addır. Sanal ağın ve alt ağın adres alanları da şablon parametrelerinde bildirilen ve Microsoft.Network/virtualNetworks kaynağında yapılandırılır:

  • sanal ağ adresi alanı: 10.0.0.0/16
  • Service Fabric alt ağ adresi alanı: 10.0.2.0/24

Başka uygulama bağlantı noktaları gerekirse, Microsoft.Network/loadBalancers kaynağını trafiğin buna izin verecek şekilde ayarlaması gerekir.

Şablon parametrelerini ayarlama

AzureDeploy.Parameters dosyası, kümeyi ve ilişkili kaynakları dağıtmak için kullanılan birçok değeri beyan eder. Dağıtımınız için değiştirmeniz gerek kaç parametre olabilir:

Parametre Örnek değer Notlar
adminUserName vmadmin Küme vm'leri için yönetici kullanıcı adı.
adminPassword Parola#1234 Küme VM'ler için yönetici parolası.
clusterName mysfcluster123 Kümenin adı.
konum southcentralus Kümenin konumu.
certificateThumbprint

Otomatik olarak imzalanan bir sertifika oluşturulurken veya sertifika dosyası sağlarken değer boş olacaktır.

Daha önce anahtar kasaya yüklenen mevcut bir sertifikayı kullanmak için SHA1 thumbprint değerini doldurun. Örneğin, "6190390162C988701DB5676EB81083EA608DCCF3".

certificateUrlValue

Otomatik olarak imzalanan bir sertifika oluşturulurken veya sertifika dosyası sağlarken değer boş olacaktır.

Daha önce anahtar kasaya yüklenen mevcut bir sertifikayı kullanmak için sertifika URL'sini doldurun. Örneğin, " https://mykeyvault.vault.azure.net:443/secrets/mycertificate/02bea722c9ef4009a76c5052bcbf8346" ;.

sourceVaultValue

Otomatik olarak imzalanan bir sertifika oluşturulurken veya sertifika dosyası sağlarken değer boş olacaktır.

Daha önce anahtar kasaya yüklenen mevcut bir sertifikayı kullanmak için kaynak kasa değerini doldurun. Ö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 kümeyi Service Fabric dağıtın. AzureDeploy.json Resource Manager şablonu, alt ağ için bir sanal ağ (VNET) ve bir alt Service Fabric. Şablon, sertifika güvenliği etkinleştirilmiş kümeyi de dağıtır. Üretim kümeleri için, küme sertifikası olarak bir sertifika yetkilisinin (CA) sertifikasını kullanın. Test kümelerini güvenlik altına almak için otomatik olarak imzalanan bir sertifika kullanılabilir.

Bu makaledeki şablon, küme sertifikasını tanımlamak için sertifika thumbprint kullanan bir kümeyi dağıtıyor. İki sertifikanın aynı başparmak yazdırı yoktur ve bu da sertifika yönetimini zorlaştırıyor. Dağıtılmış bir kümeyi sertifika başparmak yazdırmalarından sertifika ortak adlarını kullanmaya değiştirmek, sertifika yönetimini çok daha kolay hale getirir. Kümeyi, sertifika yönetiminde ortak sertifika adlarını kullanmak üzere güncelleştirme hakkında bilgi edinmek için, kümeyi sertifika ortak ad yönetimine değiştirme makalesini okuyun.

Var olan bir sertifikayı kullanarak küme oluşturma

Aşağıdaki betik, var olan sertifikayla güvenli yeni bir kümeyi dağıtmak için azf kümesi oluştur komutunu ve şablonunu kullanır. Komut, Azure'da yeni bir anahtar kasası oluşturur ve sertifikanızı karşıya yükler.

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, otomatik olarak imzalanan sertifikayı kullanarak küme oluşturma

Aşağıdaki betik, Azure'da yeni bir kümeyi dağıtmak için azf kümesi oluştur komutunu ve bir şablonu kullanır. Komut ayrıca Azure'da yeni bir anahtar kasası oluşturur, anahtar kasaya 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

Bağlan kümeye geri sağlama

Bağlan anahtarınızı kullanarak Service Fabric CLI komutunu kullanarak sfctl cluster select kümeye yazın. Unutmayın; otomatik olarak imzalanan bir sertifika için yalnızca --doğrulama yok seçeneğini kullanın.

sfctl cluster select --endpoint https://aztestcluster.southcentralus.cloudapp.azure.com:19080 \
--pem ./aztestcluster201709151446.pem --no-verify

Bağlı olduğunuzdan ve komutu kullanarak kümenin sağlam olduğundan emin sfctl cluster health olun.

sfctl cluster health

Kaynakları temizleme

Bir sonraki makaleye hemen devam etmiyorsanız, ücret ödemelerini önlemek için kümeyi silmek iyi olabilir.

Sonraki adımlar

Kümeyi ölçeklendirmeyi öğrenin.

Bu makaledeki şablon, küme sertifikasını tanımlamak için sertifika thumbprint kullanan bir kümeyi dağıtıyor. İki sertifikanın aynı başparmak yazdırı yoktur ve bu da sertifika yönetimini zorlaştırıyor. Dağıtılmış bir kümeyi sertifika başparmak yazdırmalarından sertifika ortak adlarını kullanmaya değiştirmek, sertifika yönetimini çok daha kolay hale getirir. Kümeyi, sertifika yönetiminde ortak sertifika adlarını kullanmak üzere güncelleştirme hakkında bilgi edinmek için, kümeyi sertifika ortak ad yönetimine değiştirme makalesini okuyun.