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:Yes for Pro GPU SKUAzure Stack Edge Pro - GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro R Azure Stack Edge Mini RYes for Mini R SKU

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

  • Um mestre Redis de instância única para armazenar guestbook entradas
  • Várias instâncias replicadas do Redis para servir 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).

Nota

Este artigo poderá conter referências ao termo slave (secundário), um termo que a Microsoft já não utiliza. Quando o termo for removido do software, iremos removê-lo deste artigo.

Pré-requisitos

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

Para o dispositivo

  1. Você tem credenciais de entrada 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:

    • 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ê usará 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-slave-deployment.yaml
    • redis-slave-service.yaml

Implementar a 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.

    Go to Azure Arc resource

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

    Screenshot shows the Azure Arc-enabled Kubernetes cluster with Add configuration selected.

  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 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. Nome é uma cadeia de caracteres de no máximo 253 caracteres que deve ser minúscula, alfanumérica, hífen e ponto final.
    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 de no máximo 253 caracteres que deve ser minúscula, alfanumérica, hífen e ponto final.
    URL do repositório
    Caminho para o repositório git ou http://github.com/username/repogit://github.com/username/repo formato onde 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 por defeito.
    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.
    Helm Deixe esta caixa de seleção desmarcada.
    Habilite essa opção se você fizer implantações baseadas em gráficos.

    Add configuration

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

    Screenshot shows the Azure Arc-enabled Kubernetes cluster in a pending state as it refreshes.

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

    Screenshot shows the Azure Arc-enabled Kubernetes cluster in an installed state.

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 comando a seguir 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-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ê precisará 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-slave    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 URL at: https://<external-IP-address>.

    View guestbook

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. Delete configuration

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