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: 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 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
Você tem credenciais de logon para um dispositivo Azure Stack Edge Pro de um nó.
- O dispositivo está ativado. Confira Ativar o dispositivo.
- 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.
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
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.
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.
- 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 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:
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.
Vá para Configurações e selecione +Adicionar configuração.
Especifique a Extensão do Flux versão 1.
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 formatohttp://github.com/username/repo
ougit://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.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 é concluída, o Estado do operador é exibido como 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.
Depois de aplicar a configuração do GitOps, execute a ação Conectar-se à interface do PowerShell do dispositivo.
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>
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>
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 exibirguestbook
na URL:https://<external-IP-address>
.
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.
- No portal do Azure, vá para Recurso do Azure Arc > Configurações.
- Localize a configuração que deseja excluir. Clique em ... para invocar o menu de contexto e selecione Excluir.
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