Implementar um cluster do Service Fabric no Azure Stack Hub
Utilize o item cluster do Service Fabric do Azure Marketplace para implementar um cluster protegido do Service Fabric no Azure Stack Hub.
Para obter mais informações sobre como trabalhar com o Service Fabric, veja Descrição geral dos cenários de segurança do cluster do Azure Service Fabric e do Service Fabric na documentação do Azure.
O cluster do Service Fabric no Azure Stack Hub não utiliza o fornecedor de recursos Microsoft.ServiceFabric. Em vez disso, no Azure Stack Hub, o cluster do Service Fabric é um conjunto de dimensionamento de máquinas virtuais com software pré-instalado com Desired State Configuration (DSC).
Pré-requisitos
São necessários os seguintes passos para implementar o cluster do Service Fabric:
Certificado de cluster
Este é o certificado de servidor X.509 que adiciona ao Key Vault ao implementar o Service Fabric.O CN neste certificado tem de corresponder ao Nome de Domínio Completamente Qualificado (FQDN) do cluster do Service Fabric que criar.
O formato do certificado tem de ser PFX, uma vez que as chaves públicas e privadas são necessárias. Veja os requisitos para criar este certificado do lado do servidor.
Nota
Pode utilizar um certificado autoassinado no local do certificado de servidor X.509 para fins de teste. Os certificados autoassinados não precisam de corresponder ao FQDN do cluster.
Administração Certificado de cliente
Este é o certificado que o cliente utiliza para autenticar no cluster do Service Fabric, que pode ser autoassinado. Veja os requisitos para criar este certificado de cliente.Os seguintes itens têm de estar disponíveis no Marketplace do Azure Stack Hub:
- Windows Server 2016 - O modelo utiliza a imagem Windows Server 2016 para criar o cluster.
- Extensão de Script Personalizado - Extensão de Máquina Virtual da Microsoft.
- Configuração de Fase Pretendida do PowerShell – Extensão de Máquina Virtual da Microsoft.
Adicionar um segredo ao Key Vault
Para implementar um cluster do Service Fabric, tem de especificar o Key Vault Identificador Secreto ou URL correto para o cluster do Service Fabric. O modelo de Resource Manager do Azure utiliza um Key Vault como entrada. Em seguida, o modelo obtém o certificado de Cluster ao instalar o cluster do Service Fabric.
Importante
Tem de utilizar o PowerShell para adicionar um segredo ao Key Vault para utilização com o Service Fabric. Não utilize o portal.
Utilize o seguinte script para criar o Key Vault e adicionar o certificado de cluster ao mesmo. (Consulte os pré-requisitos.) Antes de executar o script, reveja o script de exemplo e atualize os parâmetros indicados para corresponderem ao seu ambiente. Este script também irá produzir os valores que precisa de fornecer ao modelo de Resource Manager do Azure.
Dica
Antes de o script poder ser bem-sucedido, tem de existir uma oferta pública que inclua os serviços de Computação, Rede, Armazenamento e Key Vault.
function Get-ThumbprintFromPfx($PfxFilePath, $Password)
{
return New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($PfxFilePath, $Password)
}
function Publish-SecretToKeyVault ($PfxFilePath, $Password, $KeyVaultName)
{
$keyVaultSecretName = "ClusterCertificate"
$certContentInBytes = [io.file]::ReadAllBytes($PfxFilePath)
$pfxAsBase64EncodedString = [System.Convert]::ToBase64String($certContentInBytes)
$jsonObject = ConvertTo-Json -Depth 10 ([pscustomobject]@{
data = $pfxAsBase64EncodedString
dataType = 'pfx'
password = $Password
})
$jsonObjectBytes = [System.Text.Encoding]::UTF8.GetBytes($jsonObject)
$jsonEncoded = [System.Convert]::ToBase64String($jsonObjectBytes)
$secret = ConvertTo-SecureString -String $jsonEncoded -AsPlainText -Force
$keyVaultSecret = Set-AzureKeyVaultSecret -VaultName $KeyVaultName -Name $keyVaultSecretName -SecretValue $secret
$pfxCertObject = Get-ThumbprintFromPfx -PfxFilePath $PfxFilePath -Password $Password
Write-Host "KeyVault id: " -ForegroundColor Green
(Get-AzKeyVault -VaultName $KeyVaultName).ResourceId
Write-Host "Secret Id: " -ForegroundColor Green
(Get-AzureKeyVaultSecret -VaultName $KeyVaultName -Name $keyVaultSecretName).id
Write-Host "Cluster Certificate Thumbprint: " -ForegroundColor Green
$pfxCertObject.Thumbprint
}
#========================== CHANGE THESE VALUES ===============================
$armEndpoint = "https://management.local.azurestack.external"
$tenantId = "your_tenant_ID"
$location = "local"
$clusterCertPfxPath = "Your_path_to_ClusterCert.pfx"
$clusterCertPfxPassword = "Your_password_for_ClusterCert.pfx"
#==============================================================================
Add-AzEnvironment -Name AzureStack -ARMEndpoint $armEndpoint
Connect-AzAccount -Environment AzureStack -TenantId $tenantId
$rgName = "sfvaultrg"
Write-Host "Creating Resource Group..." -ForegroundColor Yellow
New-AzResourceGroup -Name $rgName -Location $location
Write-Host "Creating Key Vault..." -ForegroundColor Yellow
$Vault = New-AzKeyVault -VaultName sfvault -ResourceGroupName $rgName -Location $location -EnabledForTemplateDeployment -EnabledForDeployment -EnabledForDiskEncryption
Write-Host "Publishing certificate to Vault..." -ForegroundColor Yellow
Publish-SecretToKeyVault -PfxFilePath $clusterCertPfxPath -Password $clusterCertPfxPassword -KeyVaultName $vault.VaultName
Para obter mais informações, veja Gerir Key Vault no Azure Stack Hub com o PowerShell.
Implementar o item do Marketplace
No portal de utilizador, aceda a + Criar um clusterdoService Fabric deComputação> de recursos>.
Para cada página, como Noções Básicas, preencha o formulário de implementação. Utilize predefinições se não tiver a certeza de um valor.
Para implementações num Azure Stack Hub desligado ou para implementar outra versão do Service Fabric, transfira o pacote de implementação do Service Fabric e o pacote de runtime correspondente e aloje-o num blob do Azure Stack Hub. Forneça estes valores aos campos URL do pacote de implementação do Service Fabric e URL do pacote de runtime do Service Fabric .
Nota
Existem problemas de compatibilidade entre a versão mais recente do Service Fabric e o respetivo SDK correspondente. Até que esse problema seja resolvido, indique os seguintes parâmetros para o URL do pacote de implementação e o URL do pacote de runtime. Caso contrário, as implementações falharão.
- URL do pacote de implementação do Service Fabric: https://download.microsoft.com/download/8/3/6/836E3E99-A300-4714-8278-96BC3E8B5528/6.5.641.9590/Microsoft.Azure.ServiceFabric.WindowsServer.6.5.641.9590.zip
- URL do pacote de runtime do Service Fabric: https://download.microsoft.com/download/B/0/B/B0BCCAC5-65AA-4BE3-AB13-D5FF5890F4B5/6.5.641.9590/MicrosoftAzureServiceFabric.6.5.641.9590.cab
Para implementações desligadas, transfira estes pacotes a partir da localização especificada e aloje-os localmente num Blob do Azure Stack Hub.
Na página Definições de Rede , pode especificar portas específicas a abrir para as suas aplicações:
Na página Segurança, adicione os valores que obteve ao criar o Azure Key Vault e Carregar o Segredo.
Para o Administração Thumbprint do Certificado de Cliente, introduza o thumbprint do certificado de cliente do Administração. (Consulte os pré-requisitos.)
- Key Vault de origem: especifique toda
keyVault id
a cadeia a partir dos resultados do script. - URL do Certificado de Cluster: especifique todo o URL dos
Secret Id
resultados do script. - Thumbprint do Certificado de Cluster: especifique o Thumbprint do Certificado de Cluster a partir dos resultados do script.
- URL do Certificado de Servidor: se quiser utilizar um certificado separado do certificado de Cluster, carregue o certificado para um keyvault e forneça o URL completo para o segredo.
- Thumbprint do Certificado de Servidor: especifique o thumbprint para o Certificado de Servidor
- Administração Thumbprints do Certificado de Cliente: especifique o Thumbprint do Certificado de Cliente Administração criado nos pré-requisitos.
- Key Vault de origem: especifique toda
Conclua o assistente e, em seguida, selecione Criar para implementar o Cluster do Service Fabric.
Aceder ao Cluster do Service Fabric
Pode aceder ao cluster do Service Fabric com o Service Fabric Explorer ou o PowerShell do Service Fabric.
Utilizar Service Fabric Explorer
Certifique-se de que o browser tem acesso ao certificado de cliente Administração e pode autenticar-se no cluster do Service Fabric.
a. Abra o Internet Explorer e aceda aCertificados deConteúdo>de Opções> da Internet.
b. Em Certificados, selecione Importar para iniciar o Assistente de Importação de Certificados e, em seguida, clique em Seguinte. Na página Ficheiro a Importar, clique em Procurar e selecione o certificado Administração Cliente que forneceu ao modelo de Resource Manager do Azure.
Nota
Este certificado não é o certificado de Cluster que foi adicionado anteriormente ao Key Vault.
c. Certifique-se de que tem "Personal Information Exchange" selecionado na lista pendente da extensão da janela Explorador de Ficheiros.
d. Na página Arquivo de Certificados , selecione Pessoal e, em seguida, conclua o assistente.
Para localizar o FQDN do cluster do Service Fabric:
a. Aceda ao grupo de recursos que está associado ao cluster do Service Fabric e localize o recurso de endereço IP Público . Selecione o objeto associado ao endereço IP Público para abrir o painel Endereço IP Público .
b. No painel Endereço IP Público, o FQDN é apresentado como nome DNS.
Para localizar o URL do Service Fabric Explorer e o ponto final de ligação do Cliente, reveja os resultados da implementação do Modelo.
No browser, aceda a
https://*FQDN*:19080
. Substitua FQDN pelo FQDN do cluster do Service Fabric no passo 2.
Se tiver utilizado um certificado autoassinado, receberá um aviso de que a ligação não é segura. Para continuar para o site, selecione Mais Informações e, em seguida, aceda à página Web.Para autenticar no site, tem de selecionar um certificado a utilizar. Selecione Mais opções, escolha o certificado adequado e, em seguida, clique em OK para ligar ao Service Fabric Explorer.
Utilizar o PowerShell do Service Fabric
Instale o SDK do Microsoft Azure Service Fabric a partir de Preparar o ambiente de desenvolvimento no Windows na documentação do Azure Service Fabric.
Após a conclusão da instalação, configure as variáveis de Ambiente do sistema para garantir que os cmdlets do Service Fabric estão acessíveis a partir do PowerShell.
a. Aceda a Painel de Controlo>Sistema e Sistema de Segurança> e, em seguida, selecione Definições avançadas do sistema.
b. No separador Avançadas das Propriedades do Sistema, selecione Variáveis de Ambiente.
c. Para variáveis de sistema, edite Caminho e certifique-se de que C:\Programas\Microsoft Service Fabric\bin\Fabric\Fabric.Code está na parte superior da lista de variáveis de ambiente.
Depois de alterar a ordem das variáveis de ambiente, reinicie o PowerShell e, em seguida, execute o seguinte script do PowerShell para obter acesso ao cluster do Service Fabric:
Connect-ServiceFabricCluster -ConnectionEndpoint "\[Service Fabric CLUSTER FQDN\]:19000" \` -X509Credential -ServerCertThumbprint 761A0D17B030723A37AA2E08225CD7EA8BE9F86A \` -FindType FindByThumbprint -FindValue 0272251171BA32CEC7938A65B8A6A553AA2D3283 \` -StoreLocation CurrentUser -StoreName My -Verbose
Nota
Não existem https:// antes do nome do cluster no script. A porta 19000 é necessária.