Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если сертификат кластера Service Fabric близок к истечению срока действия, необходимо обновить сертификат. Свертка сертификатов проста, если кластер был настроен для использования сертификатов на основе общего имени (вместо отпечатка). Получите новый сертификат из центра сертификации с новой датой окончания срока действия. Самозаверяющие сертификаты, включая те, которые создаются во время процесса создания кластера в портале Azure, не поддерживаются для рабочих кластеров Service Fabric. Новый сертификат должен иметь то же общее имя, что и старый сертификат.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Чтобы узнать, как осуществить переход на модуль Az PowerShell, см. статью Перенос Azure PowerShell с AzureRM на Az.
Кластер Service Fabric автоматически будет использовать объявленный сертификат с более поздней датой истечения срока действия, если на хосте установлено более одного проверенного сертификата. Рекомендуется использовать шаблон Resource Manager для подготовки ресурсов Azure. Для непроизводственных сред можно использовать следующий скрипт для отправки нового сертификата в хранилище ключей, а затем установить сертификат в масштабируемом наборе виртуальных машин:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser -Force
$SubscriptionId = <subscription ID>
# Sign in to your Azure account and select your subscription
Login-AzAccount -SubscriptionId $SubscriptionId
$region = "southcentralus"
$KeyVaultResourceGroupName = "keyvaultgroup"
$VaultName = "cntestvault2"
$certFilename = "C:\users\sfuser\sftutorialcluster20180419110824.pfx"
$certname = "cntestcert"
$Password = "!P@ssw0rd321"
$VmssResourceGroupName = "sfclustertutorialgroup"
$VmssName = "prnninnxj"
# Create new Resource Group
New-AzResourceGroup -Name $KeyVaultResourceGroupName -Location $region
# Get the key vault. The key vault must be enabled for deployment.
$keyVault = Get-AzKeyVault -VaultName $VaultName -ResourceGroupName $KeyVaultResourceGroupName
$resourceId = $keyVault.ResourceId
# Add the certificate to the key vault.
$PasswordSec = ConvertTo-SecureString -String $Password -AsPlainText -Force
$KVSecret = Import-AzKeyVaultCertificate -VaultName $vaultName -Name $certName -FilePath $certFilename -Password $PasswordSec
$CertificateThumbprint = $KVSecret.Thumbprint
$CertificateURL = $KVSecret.SecretId
$SourceVault = $resourceId
$CommName = $KVSecret.Certificate.SubjectName.Name
Write-Host "CertificateThumbprint :" $CertificateThumbprint
Write-Host "CertificateURL :" $CertificateURL
Write-Host "SourceVault :" $SourceVault
Write-Host "Common Name :" $CommName
Set-StrictMode -Version 3
$ErrorActionPreference = "Stop"
$certConfig = New-AzVmssVaultCertificateConfig -CertificateUrl $CertificateURL -CertificateStore "My"
# Get current VM scale set
$vmss = Get-AzVmss -ResourceGroupName $VmssResourceGroupName -VMScaleSetName $VmssName
# Add new secret to the VM scale set.
$vmss.VirtualMachineProfile.OsProfile.Secrets[0].VaultCertificates.Add($certConfig)
# Update the VM scale set
Update-AzVmss -ResourceGroupName $VmssResourceGroupName -Name $VmssName -VirtualMachineScaleSet $vmss -Verbose
Примечание.
Секреты масштабируемого набора виртуальных машин не поддерживают один и тот же идентификатор ресурса для двух отдельных секретов, так как каждый секрет является версионированным уникальным ресурсом.