Implantar um cluster do Service Fabric no Azure Stack Hub
Use o item Cluster do Service Fabric do Azure Marketplace para implantar um cluster do Service Fabric seguro no Azure Stack Hub.
Para obter mais informações sobre como trabalhar com o Service Fabric, consulte Visão geral dos cenários de segurança de 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 usa o provedor 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 usando Desired State Configuration (DSC).
Pré-requisitos
As seguintes opções são necessárias para implantar o cluster do Service Fabric:
Certificado de cluster
Esse é o certificado de servidor X.509 que você adiciona a Key Vault ao implantar o Service Fabric.O CN nesse certificado deve corresponder ao FQDN (Nome de Domínio Totalmente Qualificado) do cluster do Service Fabric criado.
O formato do certificado deve ser PFX, pois as chaves públicas e privadas são necessárias. Confira os requisitos para criar esse certificado do lado do servidor.
Observação
Você pode usar um certificado autoassinado em lugar do certificado de servidor X.509 para fins de teste. Os certificados autoassinados não precisam corresponder ao FQDN do cluster.
certificado do cliente Administração
Esse é o certificado que o cliente usa para autenticar no cluster do Service Fabric, que pode ser autoassinado. Confira os requisitos para criar esse certificado de cliente.Os seguintes itens devem estar disponíveis no Azure Stack Hub Marketplace:
- Windows Server 2016 – O modelo usa 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 Estágio Desejado do PowerShell – Extensão de Máquina Virtual da Microsoft.
Adicionar um segredo ao Key Vault
Para implantar um cluster do Service Fabric, você deve especificar o identificador ou a URL do Key Vault secreto correto para o cluster do Service Fabric. O modelo de Resource Manager do Azure usa um Key Vault como entrada. Em seguida, o modelo recupera o certificado de cluster ao instalar o cluster do Service Fabric.
Importante
Você deve usar o PowerShell para adicionar um segredo a Key Vault para uso com o Service Fabric. Não use o portal.
Use o script a seguir para criar o Key Vault e adicionar o certificado de cluster a ele. (Consulte os pré-requisitos.) Antes de executar o script, examine o script de exemplo e atualize os parâmetros indicados para corresponder ao seu ambiente. Esse script também produzirá os valores que você precisa fornecer ao modelo de Resource Manager do Azure.
Dica
Antes que o script possa ser bem-sucedido, deve haver uma oferta pública que inclua os serviços para 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, consulte Gerenciar Key Vault no Azure Stack Hub com o PowerShell.
Implantar o item do Marketplace
No portal do usuário, acesse + Criar um recurso>>Cluster do Service Fabric.
Para cada página, como Noções básicas, preencha o formulário de implantação. Use padrões se você não tiver certeza de um valor.
Para implantações em um Azure Stack Hub desconectado ou para implantar outra versão do Service Fabric, baixe o pacote de implantação do Service Fabric e seu pacote de runtime correspondente e hospede-o em um blob do Azure Stack Hub. Forneça esses valores para os campos URL do pacote de implantação do Service Fabric e URL do pacote de runtime do Service Fabric .
Observação
Há problemas de compatibilidade entre a versão mais recente do Service Fabric e seu SDK correspondente. Até que esse problema seja resolvido, forneça os seguintes parâmetros para a URL do pacote de implantação e a URL do pacote de runtime. Caso contrário, as implantações falharão.
- URL do pacote de implantaçã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 implantações desconectadas, baixe esses pacotes do local especificado e hospede-os localmente em um Blob do Azure Stack Hub.
Na página Configurações de Rede , você pode especificar portas específicas a serem abertas para seus aplicativos:
Na página Segurança, adicione os valores que você obteve ao criar o Key Vault do Azure e Carregar o Segredo.
Para o Administração Impressão Digital do Certificado do Cliente, insira a impressão digital do certificado do cliente Administração. (Consulte os pré-requisitos.)
- Key Vault de origem: especifique a cadeia de caracteres inteira
keyVault id
dos resultados do script. - URL do Certificado de Cluster: especifique a URL inteira do
Secret Id
dos resultados do script. - Impressão digital do Certificado de Cluster: especifique a Impressão Digital do Certificado de Cluster dos resultados do script.
- URL do Certificado do Servidor: se você quiser usar um certificado separado do certificado de cluster, carregue o certificado em um keyvault e forneça a URL completa para o segredo.
- Impressão digital do Certificado do Servidor: especifique a impressão digital do Certificado do Servidor
- Administração impressões digitais do certificado do cliente: especifique a impressão digital do certificado do cliente Administração criada nos pré-requisitos.
- Key Vault de origem: especifique a cadeia de caracteres inteira
Conclua o assistente e selecione Criar para implantar o Cluster do Service Fabric.
Acessar o cluster do Service Fabric
Você pode acessar o cluster do Service Fabric usando o Service Fabric Explorer ou o PowerShell do Service Fabric.
Usar o Service Fabric Explorer
Verifique se o navegador tem acesso ao certificado do cliente Administração e se pode autenticar no cluster do Service Fabric.
a. Abra a Internet Explorer e acesseCertificados deConteúdo> de Opções> da Internet.
b. Em Certificados, selecione Importar para iniciar o Assistente de Importação de Certificado e clique em Avançar. Na página Arquivo a Importar, clique em Procurar e selecione o certificado do cliente Administração fornecido ao modelo de Resource Manager do Azure.
Observação
Esse certificado não é o certificado de cluster que foi adicionado anteriormente ao Key Vault.
c. Verifique se você tem a opção "Troca de Informações Pessoais" selecionada na lista suspensa de extensão da janela Explorador de Arquivos.
d. Na página Repositório de Certificados , selecione Pessoal e conclua o assistente.
Para localizar o FQDN do cluster do Service Fabric:
a. Vá para o grupo de recursos 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 a folha Endereço IP público .
b. Na folha Endereço IP público, o FQDN é exibido como nome DNS.
Para localizar a URL do Service Fabric Explorer e o ponto de extremidade de conexão do cliente, examine os resultados da implantação do modelo.
No navegador, acesse
https://*FQDN*:19080
. Substitua FQDN pelo FQDN do cluster do Service Fabric da etapa 2.
Se você tiver usado um certificado autoassinado, receberá um aviso de que a conexão não é segura. Para continuar no site, selecione Mais Informações e vá para a página da Web.Para autenticar no site, você deve selecionar um certificado a ser usado. Selecione Mais opções, escolha o certificado apropriado e clique em OK para se conectar ao Service Fabric Explorer.
Usar o PowerShell do Service Fabric
Instale o SDK do Microsoft Azure Service Fabric em Preparar seu ambiente de desenvolvimento no Windows na documentação do Azure Service Fabric.
Depois que a instalação for concluída, configure as variáveis de Ambiente do sistema para garantir que os cmdlets do Service Fabric estejam acessíveis do PowerShell.
a. Vá para Painel de Controle>Sistema eSistema de Segurança > e selecione Configurações avançadas do sistema.
b. Na guia Avançado de Propriedades do Sistema, selecione Variáveis de Ambiente.
c. Para variáveis do sistema, edite Caminho e verifique se C:\Arquivos de 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 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
Observação
Não há https:// antes do nome do cluster no script. A porta 19000 é necessária.