implantar um cluster Service Fabric no Hub Azure Stack

Use o Service Fabric item de Cluster do Azure Marketplace para implantar um Cluster de Service Fabric seguro no Hub Azure Stack.

para obter mais informações sobre como trabalhar com Service Fabric, consulte visão geral dos cenários de segurança de cluster do azure Service Fabric e Service Fabric na documentação do azure.

o cluster Service Fabric no Hub Azure Stack não usa o provedor de recursos Microsoft. onfabric. em vez disso, no Hub Azure Stack, o cluster Service Fabric é um conjunto de dimensionamento de máquinas virtuais com software pré-instalado usando Desired State Configuration (DSC).

Pré-requisitos

os itens a seguir são necessários para implantar o cluster Service Fabric:

  1. Certificado do cluster
    Esse é o certificado de servidor X. 509 que você adiciona ao Key Vault ao implantar Service Fabric.

    • o CN nesse certificado deve corresponder ao FQDN (nome de domínio totalmente qualificado) do cluster Service Fabric que você criar.

    • O formato do certificado deve ser PFX, pois as chaves pública e privada são necessárias. Consulte os requisitos para criar esse certificado do lado do servidor.

      Observação

      Você pode usar um local de certificado autoassinado do certificado do servidor X. 509 para fins de teste. Os certificados autoassinados não precisam corresponder ao FQDN do cluster.

  2. Certificado do cliente administrador
    esse é o certificado que o cliente usa para se autenticar no cluster Service Fabric, que pode ser autoassinado. Consulte os requisitos para criar esse certificado de cliente.

  3. Os itens a seguir devem estar disponíveis no Marketplace do hub de Azure Stack:

    • Windows Server 2016 -o modelo usa a imagem de 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 da máquina virtual da Microsoft.

Adicionar um segredo ao Key Vault

para implantar um cluster Service Fabric, você deve especificar o identificador ou a URL de segredo de Key Vault correta para o cluster de Service Fabric. O modelo de Azure Resource Manager usa uma Key Vault como entrada. em seguida, o modelo recupera o certificado de cluster ao instalar o cluster de Service Fabric.

Importante

Você deve usar o PowerShell para adicionar um segredo a Key Vault para uso com 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 que correspondam ao seu ambiente. Esse script também produzirá os valores que você precisa fornecer para o modelo de Azure Resource Manager.

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 Hub de Azure Stack com o PowerShell.

Implantar o item do Marketplace

  1. no portal do usuário, vá para + criar um recursocomputaçãoService Fabric Cluster.

    selecionar Cluster Service Fabric

  2. 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 Hub de Azure Stack desconectado ou para implantar outra versão do Service Fabric, baixe o pacote de implantação do Service Fabric e seu pacote de tempo de execução correspondente e hospede-o em um blob de Hub de Azure Stack. forneça esses valores para os campos Service Fabric url do pacote de implantação e Service Fabric url do pacote de tempo de execução .

    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 parâmetros a seguir para a URL do pacote de implantação e a URL do pacote de tempo de execução. Caso contrário, suas implantações falharão.

    Para implantações desconectadas, baixe esses pacotes do local especificado e hospede-os localmente em um blob de Hub de Azure Stack.

    Noções básicas

  3. na página Configurações de rede , você pode especificar portas específicas para abrir para seus aplicativos:

    Configurações de rede

  4. Na página segurança , adicione os valores obtidos na criação do Azure Key Vault e no carregamento do segredo.

    Para a impressão digital do certificado do cliente administrador, insira a impressão digital do certificado do cliente do administrador. (Consulte os pré-requisitos.)

    • Key Vault de origem: especifique keyVault id a cadeia de caracteres inteira dos resultados do script.
    • URL do certificado do 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 nos resultados do script.
    • URL do certificado do servidor: se você quiser usar um certificado separado do certificado do 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 para o certificado do servidor
    • Impressão digital do certificado do cliente admin: Especifique a impressão digital do certificado do cliente de administrador criada nos pré-requisitos.

    Saída de script

    Segurança

  5. conclua o assistente e, em seguida, selecione criar para implantar o Cluster de Service Fabric.

acessar o Cluster de Service Fabric

você pode acessar o cluster de Service Fabric usando o Service Fabric Explorer ou Service Fabric PowerShell.

Usar o Service Fabric Explorer

  1. verifique se o navegador tem acesso ao seu certificado de cliente de administrador e se pode autenticar no cluster Service Fabric.

    a. Abra o Internet Explorer e vá para Opções da Internetcertificadosde conteúdo.

    b. Em certificados, selecione importar para iniciar o Assistente para importação de certificadose clique em Avançar. Na página arquivo a ser importado , clique em procurare selecione o certificado do cliente de administrador fornecido ao modelo de Azure Resource Manager.

    Observação

    Esse certificado não é o certificado de cluster que foi adicionado anteriormente ao Key Vault.

    c. verifique se você tem "informações pessoais Exchange" selecionadas na lista suspensa extensão da janela explorador de arquivos.

    Troca de informações pessoais

    d. Na página repositório de certificados , selecione pessoale conclua o assistente.
    Repositório de certificados

  2. para localizar o FQDN do seu cluster de Service Fabric:

    a. vá para o grupo de recursos que está associado ao cluster 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 .

    Endereço IP público

    b. Na folha endereço IP público, o FQDN é exibido como nome DNS.

    Nome DNS

  3. para localizar a URL para o Service Fabric Explorer e o ponto de extremidade de conexão do cliente, examine os resultados da Implantação de modelo.

  4. No navegador, acesse https://*FQDN*:19080. substitua o fqdn pelo fqdn do seu cluster de Service Fabric da etapa 2.
    Se você tiver usado um certificado autoassinado, receberá um aviso informando que a conexão não é segura. Para continuar no site, selecione mais informaçõese vá para a páginada Web.

  5. Para se 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.

    Authenticate

Usar Service Fabric PowerShell

  1. Instale o Microsoft Azure Service Fabric SDK do Prepare your development environment on Windows na documentação do Service Fabric Azure.

  2. Depois que a instalação for concluída, configure as variáveis de ambiente do sistema para garantir que os cmdlets Service Fabric do sistema sejam acessíveis do PowerShell.

    a. Vá para Painel de ControleSistema eSistema de Segurançae selecione Configurações avançadas do sistema.

    Painel de controle

    b. Na guia Avançado de Propriedades do Sistema, selecione Variáveis de Ambiente.

    c. Para Variáveis dosistema, edite Caminho e certifique-se de que C:\Arquivos de Programas\Microsoft Service Fabric\bin\Fabric\Fabric.Code está na parte superior da lista de variáveis de ambiente.

    Lista de variáveis de ambiente

  3. 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 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.

Próximas etapas

Implantar o Kubernetes no Azure Stack Hub