Partilhar via


Guia de início rápido: implantar contêineres Linux no Service Fabric

O Azure Service Fabric é uma plataforma de sistemas distribuídos para implantar e gerenciar microsserviços e contêineres escaláveis e confiáveis.

Este guia de início rápido mostra como implantar contêineres Linux em um cluster do Service Fabric no Azure. Depois de concluído, você terá um aplicativo de votação que consiste em um front-end da Web Python e um back-end Redis em execução em um cluster do Service Fabric. Você também aprende como executar o failover de uma aplicação e como dimensionar uma aplicação no seu cluster.

Página da Web do aplicativo de votação

Pré-requisitos

Para concluir este guia de início rápido:

  1. Crie uma conta gratuita do Azure antes de começar, se não tiver uma subscrição.

  2. Instalar a CLI do Azure

  3. Instalar o SDK e a CLI do Service Fabric

  4. Instalar o Git

Obter o pacote de candidatura

Para implantar contêineres no Service Fabric, você precisa de um conjunto de arquivos de manifesto (a definição do aplicativo), que descrevem os contêineres individuais e o aplicativo.

Em um console, use o git para clonar uma cópia da definição do aplicativo; em seguida, altere os diretórios para o Voting diretório em seu clone.

git clone https://github.com/Azure-Samples/service-fabric-containers.git

cd service-fabric-containers/Linux/container-tutorial/Voting

Criar um cluster do Service Fabric

Para implantar o aplicativo no Azure, você precisa de um cluster do Service Fabric para executar o aplicativo. Os comandos a seguir criam um cluster de cinco nós no Azure. Os comandos também criam um certificado autoassinado, adicionam-no a um cofre de chaves e baixam o certificado localmente. O novo certificado é usado para proteger o cluster quando ele é implantado e é usado para autenticar clientes.

Se desejar, você pode modificar os valores das variáveis de acordo com sua preferência. Por exemplo, Westus em vez de Eastus para a localização.

Observação

Os nomes dos cofres de chaves devem ser universalmente exclusivos, pois são acessados como https://{vault-name}.vault.azure.net.

#!/bin/bash

# Variables
ResourceGroupName='containertestcluster' 
ClusterName='containertestcluster' 
Location='eastus' 
Password='q6D7nN%6ck@6' 
Subject='containertestcluster.eastus.cloudapp.azure.com' 
VaultName='containertestvault' 
VmPassword='Mypa$$word!321'
VmUserName='sfadminuser'

# Login to Azure and set the subscription
az login

az account set --subscription <mySubscriptionID>

# Create resource group
az group create --name $ResourceGroupName --___location $Location 

# Create secure five node Linux cluster. Creates a key vault in a resource group
# and creates a certificate in the key vault. The certificate's subject name must match 
# the ___domain that you use to access the Service Fabric cluster.  The certificate is downloaded locally.
az sf cluster create --resource-group $ResourceGroupName --___location $Location --certificate-output-folder . --certificate-password $Password --certificate-subject-name $Subject --cluster-name $ClusterName --cluster-size 5 --os UbuntuServer1804 --vault-name $VaultName --vault-resource-group $ResourceGroupName --vm-password $VmPassword --vm-user-name $VmUserName

Observação

O serviço de front-end da Web está configurado para escutar tráfego de entrada na porta 80. Por padrão, a porta 80 está aberta em suas VMs de cluster e no balanceador de carga do Azure.

Configurar o seu ambiente

O Service Fabric fornece várias ferramentas que você pode usar para gerenciar um cluster e seus aplicativos:

  • Service Fabric Explorer, uma ferramenta baseada em navegador.
  • CLI (Interface de Linha de Comando) do Service Fabric, que é executada sobre a CLI do Azure.
  • Comandos do PowerShell.

Neste início rápido, você usa a CLI do Service Fabric e o Service Fabric Explorer (uma ferramenta baseada na Web). Para usar o Service Fabric Explorer, você precisa importar o arquivo PFX de certificado para o navegador. Por padrão, o arquivo PFX não tem senha.

Mozilla Firefox é o navegador padrão no Ubuntu 18.04. Para importar o certificado para o Firefox, clique no botão de menu no canto superior direito do seu navegador e, em seguida, clique em Opções. Na página Preferências , use a caixa de pesquisa para pesquisar "certificados". Clique em Exibir certificados, selecione a guia Seus certificados , clique em Importar e siga as instruções para importar o certificado.

Instalar certificado no Firefox

Implementar a aplicação do Service Fabric

  1. Conecte-se ao cluster do Service Fabric no Azure usando a CLI. O endpoint é o ponto de gestão do seu cluster. Você criou o arquivo PEM na seção anterior.

    sfctl cluster select --endpoint https://containertestcluster.eastus.cloudapp.azure.com:19080 --pem containertestcluster22019013100.pem --no-verify
    
  2. Use o script de instalação para copiar a definição de aplicativo de votação para o cluster, registrar o tipo de aplicativo e criar uma instância do aplicativo. O arquivo de certificado PEM deve estar localizado no mesmo diretório que o arquivo install.sh .

    ./install.sh
    
  3. Abra um browser e navegue até o endereço do Service Fabric Explorer do seu cluster. O ponto de extremidade tem o seguinte formato: https://<my-azure-service-fabric-cluster-url>:19080/Explorer; por exemplo, https://containertestcluster.eastus.cloudapp.azure.com:19080/Explorer.

  4. Expanda o nó Aplicações para ver que agora há uma entrada para o tipo de aplicação Votação e para a instância que você criou.

    Explorador do Service Fabric

  5. Para se conectar ao contêiner em execução, abra um navegador da Web e navegue até a URL do cluster; por exemplo, http://containertestcluster.eastus.cloudapp.azure.com:80. Você deve ver o aplicativo de votação no navegador.

    Página da Web do aplicativo de votação

Observação

Você também pode implantar aplicações do Service Fabric com o Docker compose. Por exemplo, o comando a seguir pode ser usado para implantar e instalar o aplicativo no cluster usando o Docker Compose.

sfctl compose create --deployment-name TestApp --file-path ../docker-compose.yml

Failover de um contêiner em um cluster

O Service Fabric garante que suas instâncias de contêiner sejam movidas automaticamente para outros nós no cluster se ocorrer uma falha. Você também pode drenar manualmente um nó para contêineres e, em seguida, mover graciosamente para outros nós no cluster. O Service Fabric fornece várias maneiras de dimensionar seus serviços. Nas etapas a seguir, use o Service Fabric Explorer.

Para fazer failover do contêiner front-end, execute as seguintes etapas:

  1. Abra o Service Fabric Explorer em seu cluster; por exemplo, https://containertestcluster.eastus.cloudapp.azure.com:19080/Explorer.

  2. Clique no nó fabric:/Voting/azurevotefront na visualização em árvore e expanda o nó de partição (representado por um GUID). Observe o nome do nó na exibição em árvore, que mostra os nós nos quais o contêiner está sendo executado no momento; por exemplo, _nodetype_1.

  3. Expanda o nó Nós na visualização em árvore. Clique nas reticências (...) ao lado do nó que está executando o contêiner.

  4. Escolha Reiniciar para reiniciar esse nó e confirmar a ação de reinicialização. A reinicialização faz com que o contêiner faça failover para outro nó no cluster.

    Modo de exibição de nó no Service Fabric Explorer

Dimensionar aplicativos e serviços em um cluster

Os serviços do Service Fabric podem ser facilmente dimensionados em um cluster para acomodar a carga nos serviços. Você dimensiona um serviço alterando o número de instâncias em execução no cluster.

Para dimensionar o serviço front-end da Web, execute as seguintes etapas:

  1. Abra o Service Fabric Explorer em seu cluster; por exemplo,https://containertestcluster.eastus.cloudapp.azure.com:19080.

  2. Clique nas reticências (três pontos) ao lado do nó fabric:/Voting/azurevotefront na exibição em árvore e escolha Scale Service.

    Início do serviço de dimensionamento do Service Fabric Explorer

    Agora você pode optar por dimensionar o número de instâncias do serviço front-end da Web.

  3. Altere o número para 2 e clique em Dimensionar Serviço.

  4. Clique no nó fabric:/Voting/azurevotefront na visualização em árvore e expanda o nó da partição (representado por um GUID).

    Serviço de dimensionamento do Service Fabric Explorer concluído

    Agora você pode ver que o serviço tem duas instâncias. Na visualização em árvore, você pode ver em quais nós as instâncias são executadas.

Através desta simples tarefa de gestão, conseguiste duplicar os recursos disponíveis para processar a carga de utilizador pelo serviço front-end. É importante entender que você não precisa de várias instâncias de um serviço para que ele seja executado de forma confiável. Se um serviço falhar, o Service Fabric garante que uma nova instância de serviço seja executada no cluster.

Limpeza de recursos

Use o script de desinstalação (uninstall.sh) fornecido no modelo para excluir a instância do aplicativo do cluster e cancelar o registro do tipo de aplicativo. Esse script leva algum tempo para limpar a instância, portanto, você não deve executar o script de instalação imediatamente após esse script. Você pode usar o Service Fabric Explorer para determinar quando a instância foi removida e o tipo de aplicativo não foi registrado.

./uninstall.sh

A maneira mais simples de excluir o cluster e todos os recursos que ele consome é excluir o grupo de recursos.

Entre no Azure e selecione a ID de assinatura com a qual você deseja remover o cluster. Pode encontrar o seu ID de subscrição iniciando sessão no portal do Azure. Exclua o grupo de recursos e todos os recursos do cluster usando o comando az group delete.

az login
az account set --subscription <guid>
ResourceGroupName="containertestcluster"
az group delete --name $ResourceGroupName

Se tiver terminado de trabalhar com o cluster, você poderá remover o certificado do armazenamento de certificados. Por exemplo:

  • No Windows: use o snap-in Certificados do MMC. Certifique-se de selecionar Minha conta de usuário ao adicionar o snap-in. Navegue até Certificates - Current User\Personal\Certificates e remova o certificado.
  • No Mac: use o aplicativo Chaves.
  • No Ubuntu: Siga as etapas que você usou para visualizar certificados e remover o certificado.

Próximos passos

Neste início rápido, você implantou um aplicativo de contêiner Linux em um cluster do Service Fabric no Azure, executou failover no aplicativo e dimensionou o aplicativo no cluster. Para saber mais sobre como trabalhar com contêineres Linux no Service Fabric, continue para o tutorial para aplicativos de contêiner Linux.