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 para Pro GPU SKUAzure Stack Edge Pro – GPUSim para Pro 2 SKUAzure Stack Edge Pro 2Sim para Pro R SKUAzure Stack Edge Pro RSim para Mini R SKUAzure Stack Edge Mini R

Este artigo mostra como criar e implantar um aplicativo Web 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 replicadas do Redis para fornecer leituras
  • Várias instâncias de front-end da Web

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

Este procedimento destina-se a pessoas que revisaram as cargas de trabalho do Kubernetes no dispositivo Azure Stack Edge Pro e estão familiarizadas com os conceitos do Kubernetes habilitado para Azure Arc (versão prévia).

Pré-requisitos

Antes de implantar o aplicativo sem estado, verifique se você concluiu os seguintes pré-requisitos em seu dispositivo e o cliente que você usará para acessar o dispositivo:

Para dispositivo

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

    1. O dispositivo é ativado. Consulte Ativar o dispositivo.
    2. O dispositivo tem a função de computação configurada por meio do portal do Azure e tem um cluster do Kubernetes. Consulte Configurar a 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 obter etapas detalhadas, consulte Habilitar o Azure Arc no dispositivo Azure Stack Edge Pro.

Para o cliente que acessa o dispositivo

  1. Você tem um sistema cliente Windows que será usado para acessar o dispositivo 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, acesse Instalar o Windows PowerShell.

    • Você também pode ter qualquer outro cliente com um sistema operacional com suporte . Este artigo descreve o procedimento ao usar um cliente Windows.

  2. Você concluiu o procedimento descrito em Acesso ao cluster Kubernetes no dispositivo Azure Stack Edge Pro. Você tem:

    • 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 do kubectl em execução no cliente. Anote a versão completa.
      • Na interface do usuário local do dispositivo Azure Stack Edge Pro, acesse Visão geral e anote o número de software do Kubernetes.
      • Verifique essas duas versões quanto à compatibilidade do 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ê usa os yaml seguintes arquivos para implantar em seu dispositivo Azure Stack Edge Pro.

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

Implantar configuração

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

  1. No portal do Azure, acesse o recurso do Azure Arc que você criou quando habilitou o Azure Arc no cluster kubernetes em seu dispositivo.

    Ir para 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 do GitOps, insira os valores apropriados para os campos e selecione Adicionar.

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

    Adicionar configuração

  5. A implantação de configuração é iniciada e o estado do Operador é mostrado como Pendente.

    A captura de tela mostra o cluster do Kubernetes habilitado pelo Azure Arc em um estado pendente à medida que se atualiza.

  6. A implantação leva alguns minutos. Quando a implantação for concluída, o estado do operador será 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 demotestguestbook namespace conforme especificado nos arquivos de implantação yaml localizados no repositório git.

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

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

    kubectl get pods -n <your-namespace>

    Aqui está uma saída de exemplo.

    [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-replica-7664787fbc-lgr2n    1/1     Running   0          91m
    redis-replica-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 o 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-replica    ClusterIP      10.104.215.146   <none>          6379/TCP       85m
    [10.128.44.240]: PS>
    
  4. O serviço de front-end do type:LoadBalancer tem um endereço IP externo. Esse IP é do intervalo de endereços IP especificado para serviços externos ao definir as configurações de rede de computação no dispositivo. Use este endereço IP para visualizar o guestbook no URL: https://<external-IP-address>.

    Exibir o livro de visitas

Excluir implantação

Para excluir a implantação, você pode excluir a configuração do portal do Azure. Excluir a configuração excluirá os objetos que foram criados, incluindo implantações e serviços.

  1. No portal do Azure, acesse as Configurações de recursos > do Azure Arc.
  2. Localize a configuração que você deseja excluir. Selecione o ... para invocar o menu de contexto e selecionar Excluir. Excluir configuração

Pode levar vários minutos para que a configuração seja excluída.

Próximas etapas

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