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: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
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
Você tem credenciais de entrada para um dispositivo Azure Stack Edge Pro de 1 nó.
- O dispositivo está ativado. Consulte Ativar o dispositivo.
- 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.
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
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.
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.
- Use
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:
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.
Vá para Configurações e selecione + Adicionar configuração.
Especifique a extensão do Flux versão 1.
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 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 ouhttp://github.com/username/repo
git://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.A implantação da configuração é iniciada e o estado do Operador é exibido como Pendente.
A implantação leva alguns minutos. Quando a implantação for concluída, o estado do Operador será exibido como 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.
Depois de aplicar a configuração do GitOps, conecte-se à interface do PowerShell do dispositivo.
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-slave-7664787fbc-lgr2n 1/1 Running 0 91m redis-slave-7664787fbc-vlvzn 1/1 Running 0 91m [10.128.44.240]: PS>
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>
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 oguestbook
URL at:https://<external-IP-address>
.
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.
- No portal do Azure, vá para Configurações de recursos > do Azure Arc.
- Localize a configuração que deseja excluir. Selecione a opção ... para invocar o menu de contexto e selecione Excluir.
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