Partilhar via


Implantar um aplicativo sem estado PHP Guestbook com Redis no cluster Kubernetes habilitado para Azure Arc na GPU do 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:

  • Uma instância mestre única do Redis para armazenar guestbook entradas
  • Várias instâncias replicadas do Redis para responder a leituras
  • Várias instâncias de frontend da Web

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

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

Pré-requisitos

Antes de implantar a aplicação sem estado, verifique se concluiu os seguintes pré-requisitos no dispositivo e no cliente que utilizará para aceder ao dispositivo:

Para o dispositivo

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

    1. O dispositivo está 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 Kubernetes. Consulte Configurar computação.
  2. Você habilitou o Azure Arc no cluster Kubernetes existente em seu dispositivo e tem um recurso correspondente do Azure Arc 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, vá para Instalar o Windows PowerShell.

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

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

    • Foi instalado kubectl no cliente.

    • Certifique-se de que a kubectl versão do cliente não esteja distorcida mais do que uma versão da versão mestre do Kubernetes em execução 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 seu dispositivo Azure Stack Edge Pro, vá para Visão geral e anote o número do software Kubernetes.
      • Verifique a compatibilidade dessas duas versões a partir do mapeamento fornecido na versão do Kubernetes suportado.
  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 seguintes yaml 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 Azure Arc para implantar uma configuração do GitOps por meio do portal do Azure:

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

    Ir para o recurso Azure Arc

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

    A captura de tela mostra o cluster Kubernetes ativado pelo Azure Arc com 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 para identificar uma configuração específica. Nome é uma cadeia de caracteres com no máximo 253, que deve estar em minúsculas e pode conter apenas caracteres alfanuméricos, hífens e pontos.
    Namespace do operador Defina como demotestguestbook para corresponder ao namespace especificado na implantação yaml.
    O campo define o namespace onde o operador está instalado. Nome é uma cadeia de caracteres com no máximo 253, que deve estar em minúsculas e pode conter apenas caracteres alfanuméricos, hífens e pontos.
    URL do repositório
    Caminho para o repositório git em formato http://github.com/username/repo ou git://github.com/username/repo, onde a sua configuração do GitOps está localizada.
    Âmbito do operador Selecione Namespace.
    Este 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 como padrão.
    Este parâmetro especifica o tipo do operador - por padrão, definido como fluxo.
    Params do operador Deixe em branco.
    Este parâmetro contém parâmetros para passar para o operador de fluxo.
    Leme Deixe esta 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 da configuração é iniciada e o estado do Operador é exibido como Pendente.

    A captura de tela mostra o cluster Kubernetes habilitado para Azure Arc em um estado pendente à medida que é atualizado.

  6. A implantação leva alguns minutos. Quando a implantação for concluída, o estado do Operador será exibido como Instalado.

    A captura de ecrã mostra o cluster Kubernetes habilitado com o Azure Arc no estado de instalado.

Verificar a implementaçã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 seguinte comando para listar os pods em execução no demotestguestbook namespace 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-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 deste serviço para visualizar o guestbook. Execute o seguinte comando.

    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 frontend do type:LoadBalancer tem um endereço IP externo. Esse IP é do intervalo de endereços IP que você especificou para serviços externos ao configurar 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>.

    Ver livro de visitas

Excluir implantação

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

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

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

Próximos passos

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