Como implantar o Elasticsearch no Azure AKS automaticamente

Aprenda como implantar o Elasticsearch com o Kibana no Azure usando o AKS Automatic e o ECK para uma configuração parcialmente gerenciada do Elasticsearch.

Novo no Elasticsearch? Participe do nosso webinar Introdução ao Elasticsearch. Você também pode iniciar um teste gratuito na nuvem do Elastic ou experimentar o Elastic em sua máquina agora.

Este artigo faz parte de uma série onde aprenderemos como instalar o Elasticsearch usando diferentes infraestruturas.

O ECK exige um esforço significativamente maior do que as soluções Elastic Cloud baseadas no Marketplace, mas é mais automatizado do que implantar VMs por conta própria, porque o operador do Kubernetes cuidará da orquestração do sistema e do escalonamento dos nós.

Desta vez, vamos trabalhar com o Azure Kubernetes Service (AKS), usando o modo automático. Nos outros artigos, você aprenderá como usar as VMs do Azure e o Azure Marketplace.

O que é o AKS Automatic?

O Azure Kubernetes Service (AKS) gerencia automaticamente a configuração do cluster, aloca recursos dinamicamente e integra as melhores práticas de segurança, preservando a flexibilidade do Kubernetes, permitindo que os desenvolvedores passem da imagem do contêiner para o aplicativo implantado em minutos.

O AKS Automatic elimina a maior parte da sobrecarga de gerenciamento de clusters e encontra um bom equilíbrio entre simplicidade e flexibilidade. A escolha certa depende do seu caso de uso, mas a decisão fica mais fácil se você planeja:

  • Implante um ambiente de teste: A implantação é rápida e simples, tornando-a ideal para experimentos rápidos ou clusters de curta duração.
  • Trabalhe sem requisitos rígidos de VM, armazenamento ou rede: o AKS Automatic fornece configurações padrão predefinidas; portanto, se elas atenderem às suas necessidades, você evita configurações adicionais.
  • Comece a usar o Kubernetes pela primeira vez: ao lidar com grande parte da configuração do cluster, o AKS Automatic reduz a curva de aprendizado e permite que as equipes se concentrem em seus aplicativos.

Para o Elasticsearch, usaremos o Elastic Cloud on Kubernetes (ECK), que é o operador oficial do Elastic Kubernetes e simplifica a orquestração das implantações do Elastic Stack no Kubernetes.

Como configurar o AKS automaticamente

1. Faça login no Portal do Microsoft Azure.

2. No canto superior direito, clique No botão do Cloud Shell , você pode acessar o console e implantar o cluster AKS a partir daí. Alternativamente, você pode usar o Azure Cloud Shell.

Lembre-se de atualizar o ID do projeto com o seu durante o tutorial.

Abrir o AKS deve ser semelhante à captura de tela acima.

3. Instale a extensão aks-preview da CLI do Azure. Esta versão de pré-visualização permitirá selecionar --sku automatic na criação do cluster, o que habilita o recurso AKS Automático.

Se você vir esta mensagem, significa que a extensão AKS foi instalada corretamente.

4. Registre os sinalizadores de recursos usando o comando az feature register

Você verá os detalhes sobre a assinatura do recurso que acabamos de criar:

Verifique o status do registro até que ele mude de “Registrando” para “Registrado”. O processo de cadastro pode levar alguns minutos.

Execute az provider register para propagar as alterações.

5. Criar um grupo de recursos

Um grupo de recursos é um grupo lógico de recursos do Azure que serão gerenciados e implantados.

6. Crie um cluster do Autopilot. Vamos chamá-lo de myAKSAutomaticCluster e usar o grupo de recursos que acabamos de criar. Certifique-se de ter 16 vCPUs disponíveis em qualquer um dos seguintes tamanhos de VM: Standard_D4pds_v5, Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2 para que o AKS possa alocar recursos.

* Se você receber dois errosMissingSubscriptionRegistration), volte ao passo 4 com as assinaturas ausentes. Por exemplo, The subscription is not registered to use namespace 'microsoft.insights' requer a execução de az provider register --namespace Microsoft.Insights.

Siga as instruções de login interativo:

Uma mensagem solicitando a execução do comando “az login” será exibida. Você precisa executar esse comando e depois esperar.

7. Aguarde até que esteja pronto. Leva cerca de 10 minutos para criar.

8. Configure o acesso à linha de comando do kubectl.

Observe que a extensão que instalamos está habilitando o AKS Automático.

9. Confirme se os nós foram implantados.

Você verá uma mensagem de erro de acesso proibido; copie o ID do usuário da mensagem de erro.

10. Adicione seu usuário ao controle de acesso do AKS.

Obtenha o ID da AKS. Copie a saída do comando.

Crie uma atribuição de função usando o ID do AKS e o ID principal do seu usuário.

11. Tente confirmar novamente se os nós foram implantados.

12. Instale o operador Elastic Cloud on the Kubernetes (ECK).

13. Vamos criar uma instância Elasticsearch de nó único com os valores padrão.

Desativamos nmap porque a máquina AKS padrão tem um valor vm.max_map_count muito baixo. Desativá-lo não é recomendado para produção, mas aumentar o valor de vm.max_map_count. Você pode ler mais sobre como fazer isso aqui.

14. Vamos também implantar um cluster Kibana de nó único. Para o Kibana, adicionaremos um balanceador de carga, que nos fornecerá um IP externo que poderemos usar para acessar o Kibana a partir do nosso dispositivo.

Por padrão, o AKS Automatic configurará o balanceador de carga como público; você pode alterar esse comportamento definindo a anotação de metadados:

service.beta.kubernetes.io/azure-load-balancer-internal: "true"

15. Verifique se seus pods estão em execução.

16. Você também pode executar kubectl get elasticsearch e kubectl get kibana para estatísticas mais específicas, como versão do Elasticsearch, nós e integridade.

17. Acesse seus serviços.

Isso mostrará o URL externo do Kibana em EXTERNAL-IP. Pode levar alguns minutos para o balanceador de carga ser provisionado. Copie o valor de EXTERNAL-IP.

18. Obtenha a senha do Elasticsearch para o usuário 'elastic':

19. Acesse o Kibana através do seu navegador:

a. URL: https://:5601<EXTERNAL_IP>

b. Nome de usuário: elastic

c. Senha: c44A295CaEt44D6xIzN6Zs5m (da etapa anterior)

20. Ao acessar o Elastic Cloud pelo seu navegador, você verá a tela de boas-vindas.

Se você deseja alterar as especificações do cluster Elasticsearch, como alterar ou redimensionar nós, pode aplicar o manifesto YML novamente com as novas configurações:

Neste exemplo, vamos adicionar mais um nó e modificar a RAM e a CPU. Como você pode ver, agora kubectl get elasticsearch mostra 2 nós:

O mesmo se aplica ao Kibana:

Podemos ajustar o uso de CPU/RAM do contêiner e também o uso de memória do Node.js (max-old-space-size).

Lembre-se de que os pedidos de reembolso em grande volume já existentes não podem ser reduzidos. Após aplicar a atualização, o operador fará as alterações com o mínimo de interrupção possível.

Lembre-se de excluir o cluster quando terminar os testes para evitar custos desnecessários.

Conclusão

Utilizar o Azure AKS Automatic com o ECK oferece uma solução equilibrada para a implementação do Elasticsearch e do Kibana: reduz a complexidade operacional, garante o dimensionamento e as atualizações automatizadas e aproveita a flexibilidade do Kubernetes. Essa abordagem é ideal para equipes que desejam um processo de implantação confiável, repetível e de fácil manutenção, sem precisar gerenciar manualmente cada detalhe da infraestrutura, tornando-se uma escolha prática tanto para ambientes de teste quanto de produção.

Próximas etapas

Se você quiser saber mais sobre Kubernetes, pode consultar a documentação oficial aqui:

Conteúdo relacionado

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)