Compartilhar via


Implantar um aplicativo Guestbook de PHP sem estado com Redis no Kubernetes habilitado para Azure Arc no GPU Azure Stack Edge Pro

APLICA-SE A: Sim, ao SKU do Pro GPUAzure Stack Edge Pro - GPUSim, ao SKU do Pro 2Azure Stack Edge Pro 2Sim, ao SKU do Pro RAzure Stack Edge Pro RSim, ao SKU do Mini RAzure Stack Edge Mini R

Este artigo mostra como criar e implantar um aplicativo Web simples de várias camadas usando o Kubernetes e o Azure Arc. Este exemplo consiste nos seguintes componentes:

  • Um Redis mestre de instância única para armazenar entradas guestbook
  • Várias instâncias de Redis replicadas para atender a leituras
  • Várias instâncias de front-end da Web

A implantação é feita usando o GitOps no cluster do Kubernetes habilitado para Azure Arc no seu dispositivo Azure Stack Edge Pro.

Este procedimento é destinado a pessoas que analisaram as cargas de trabalho do Kubernetes no dispositivo Azure Stack Edge Pro e estão familiarizadas com os conceitos mencionados em O que é o Kubernetes habilitado para Azure Arc (versão prévia).

Observação

Este artigo contém referências ao termo servidor subordinado, um termo que a Microsoft não usa mais. Quando o termo for removido do software, também o removeremos deste artigo.

Pré-requisitos

Antes de implantar o aplicativo sem estado, verifique se você atendeu aos seguintes pré-requisitos no seu dispositivo e no cliente que será usado para acessá-lo:

Para dispositivo

  1. Você tem credenciais de logon para um dispositivo Azure Stack Edge Pro de um nó.

    1. O dispositivo está ativado. Confira Ativar o dispositivo.
    2. O dispositivo tem a função de computação configurada por meio do portal do Azure e conta com um cluster Kubernetes. Confira Configurar computação.
  2. Você habilitou o Azure Arc no cluster Kubernetes existente em seu dispositivo e tem um recurso do Azure Arc correspondente no portal do Azure. Para ver as etapas em detalhes, confira Habilitar o Azure Arc em dispositivo Azure Stack Edge Pro.

Para cliente que acessa o dispositivo

  1. Você tem um sistema cliente do Windows que será usado para acessar o dispositivo do Azure Stack Edge Pro.

    • O cliente está executando o Windows PowerShell 5.0 ou posterior. Para baixar a versão mais recente do Windows PowerShell, vá para Instalar o Windows PowerShell.

    • Você também pode usar qualquer outro cliente que tenha um Sistema operacional compatível. Este artigo descreve o procedimento usando um cliente Windows.

  2. Você concluiu o procedimento descrito em Acessar o cluster Kubernetes em dispositivo Azure Stack Edge Pro. Você:

    • Instalou kubectl no cliente.

    • Verificou se a versão de kubectl do cliente está defasada em, no máximo, uma versão em relação à versão mestre do Kubernetes executada no seu dispositivo Azure Stack Edge Pro.

      • Use kubectl version para verificar a versão de kubectl em execução no cliente. Anote a versão completa.
      • Na interface do usuário local do seu dispositivo Azure Stack Edge Pro, vá para Visão geral e anote o número de software do Kubernetes.
      • Verifique a compatibilidade dessas duas versões com base no mapeamento fornecido na versão do Kubernetes com suporte.
  3. Você tem uma configuração do GitOps que pode ser usada para executar uma implantação do Azure Arc. Neste exemplo, você usará os arquivos yaml a seguir para implantar no seu dispositivo Azure Stack Edge Pro.

    • frontend-deployment.yaml
    • frontend-service.yaml
    • redis-master-deployment.yaml
    • redis-master-service.yaml
    • redis-slave-deployment.yaml
    • redis-slave-service.yaml

Implantar configuração

Siga estas etapas para configurar o recurso do Azure Arc e implantar uma configuração do GitOps pelo portal do Azure:

  1. No portal do Azure, vá para o recurso do Azure Arc que você criou quando habilitou o Azure Arc no cluster Kubernetes em seu dispositivo.

    Acessar o recurso do Azure Arc

  2. Vá para Configurações e selecione +Adicionar configuração.

    Captura de tela que mostra o cluster do Kubernetes habilitado para Azure Arc com a opção Adicionar configuração selecionada.

  3. Especifique a Extensão do Flux versão 1.

  4. Em Adicionar uma configuração GitOps, insira os valores apropriados para os campos e selecione Adicionar.

    Parâmetro Descrição
    Nome da configuração Nome do recurso de configuração.
    Nome da instância do operador Nome da instância do operador para identificar uma configuração específica. O nome é uma cadeia com um máximo de 253 caracteres que devem incluir apenas letras minúsculas, alfanuméricos, hífen e ponto.
    Namespace do operador Defina como demotestguestbook para corresponder ao namespace especificado no yaml de implantação.
    O campo define o namespace em que o operador está instalado. O nome é uma cadeia com um máximo de 253 caracteres que devem incluir apenas letras minúsculas, alfanuméricos, hífen e ponto.
    URL do repositório
    Caminho para o repositório git no formato http://github.com/username/repo ou git://github.com/username/repo onde está localizada a configuração do GitOps.
    Escopo do operador Selecione Namespace.
    Este parâmetro define o escopo em que o operador está instalado. Selecione Namespace para instalar o operador no namespace especificado nos arquivos yaml de implantação.
    Tipo de operador Deixe o padrão.
    Este parâmetro especifica o tipo do operador que, por padrão, é definido como fluxo.
    Parâmetros do operador Deixe em branco.
    Este parâmetro contém parâmetros a serem transmitidos para o operador de fluxo.
    Helm Mantenha essa caixa de seleção Desmarcada.
    Habilite esta opção se você fizer implantações baseadas em gráficos.

    Adicionar configuração

  5. A implantação da configuração é iniciada e o Estado do operador é exibido como Pendente.

    Captura de tela que mostra o cluster do Kubernetes habilitado para Azure Arc no estado pendente enquanto é atualizado.

  6. A implantação leva alguns minutos. Quando a implantação é concluída, o Estado do operador é exibido como Instalado.

    Captura de tela que mostra o cluster do Kubernetes habilitado para Azure Arc no estado instalado.

Verificar a implantação

A implantação por meio da configuração do GitOps cria um namespace demotestguestbook, conforme especificado nos arquivos yaml de implantação localizados no repositório git.

  1. Depois de aplicar a configuração do GitOps, execute a ação Conectar-se à interface do PowerShell do dispositivo.

  2. Execute o comando a seguir para listar o pods em execução no namespace demotestguestbook correspondente à implantação.

    kubectl get pods -n <your-namespace>

    Aqui está um exemplo de saída.

    [10.128.44.240]: PS>kubectl get pods -n demotestguestbook
    NAME                            READY   STATUS    RESTARTS   AGE
    aseoperator1-5569658644-cqtb5   1/1     Running   0          91m
    frontend-6cb7f8bd65-4xb4f       1/1     Running   0          91m
    frontend-6cb7f8bd65-q9cxj       1/1     Running   0          91m
    frontend-6cb7f8bd65-xpzs6       1/1     Running   0          91m
    memcached-86bdf9f56b-5l2fq      1/1     Running   0          91m
    redis-master-7db7f6579f-2z29w   1/1     Running   0          91m
    redis-slave-7664787fbc-lgr2n    1/1     Running   0          91m
    redis-slave-7664787fbc-vlvzn    1/1     Running   0          91m
    [10.128.44.240]: PS>
    
  3. Neste exemplo, o serviço de front-end foi implantado como type:LoadBalancer. Você precisa encontrar o endereço IP desse serviço para exibir guestbook. Execute o comando a seguir.

    kubectl get service -n <your-namespace>

    [10.128.44.240]: PS>kubectl get service -n demotestguestbook
    NAME           TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)        AGE
    frontend       LoadBalancer   10.96.79.38      10.128.44.245   80:31238/TCP   85m
    memcached      ClusterIP      10.102.47.75     <none>          11211/TCP      85m
    redis-master   ClusterIP      10.104.32.99     <none>          6379/TCP       85m
    redis-slave    ClusterIP      10.104.215.146   <none>          6379/TCP       85m
    [10.128.44.240]: PS>
    
  4. O serviço de front-end de type:LoadBalancer tem um endereço IP externo. Esse IP é referente ao intervalo de endereços IP que você especificou para serviços externos quando definiu as configurações de rede de computação no dispositivo. Use este endereço IP para exibir guestbook na URL: https://<external-IP-address>.

    Exibir guestbook

Excluir implantação

Para excluir a implantação, exclua a configuração do portal do Azure. A exclusão da configuração removerá os objetos que foram criados, como implantações e serviços.

  1. No portal do Azure, vá para Recurso do Azure Arc > Configurações.
  2. Localize a configuração que deseja excluir. Clique em ... para invocar o menu de contexto e selecione Excluir. Excluir configuração

Pode demorar vários minutos para a configuração ser excluída.

Próximas etapas

Saiba como Usar o painel do Kubernetes para monitorar implantações em seu dispositivo Azure Stack Edge Pro