kind: criando clusters Kubernetes para testes locais sem complicações
O projeto kind é uma alternativa gratuita e excelente para desenvolvimento e testes com Kubernetes, cujo uso inclusive já abordei em diversas lives ao longo deste ano (2022) no Canal .NET. Com um cluster baseado nesta tecnologia sendo disponibilizado a partir de um simples container, temos a possibilidade de simular sem grandes complicações um ambiente Kubernetes em Windows, Linux e macOS.
Tomando como exemplo a instrução:
kind create cluster --name kind-01
Teremos como o resultado:
- A criação de um cluster chamado kind-01;
- A instrução docker container ls exibirá o container correspondente em execução;
- E com o comando kubectl get all -n kube-system podemos também visualizar diversos pods de sistema (namespace kube-system) gerados por este procedimento.
Ferramentas auxiliares para gerenciamento do Kubernetes apresentam total compatibilidade com o kind, como no caso do utilitário de linha de comando k9s e sua interface gráfica:
É possível ainda habilitar o acesso externo a Pods (fora do cluster Kubernetes propriamente), a partir de configurações durante a criação de um cluster local com kind. É o que demonstrei numa live recente no Canal .NET, enfatizando inclusive a utilidade que esta capacidade propicia em testes de integração que necessitem simular o comportamento de uma aplicação no Kubernetes:
Durante esta live os exemplos que apresentei foram disponibilizados nos seguintes repositórios:
Caso achem úteis estas e outras soluções que incluí aqui, peço por favor um ⭐️ nos repositórios apoiando. Fica também o convite para que vocês me sigam lá no GitHub!
Múltiplos clusters também podem ser criados em um mesmo ambiente com o Docker previamente configurado, como indicado em exemplos no vídeo a seguir (outra live produzida para o Canal .NET):
Um repositório com estes exemplos pode ser encontrado também no meu GitHub:
kind + Testes locais com Kubernetes
Por fim, deixo aqui o link da apresentação que realizei no Azure Weekend 2022 envolvendo o uso de KEDA (Kubernetes Event-driven Autoscaling) com kind localmente. Serviços como KEDA podem ser perfeitamente configurados em um cluster local, com o exemplo que apresentei valendo-se da implantação do Chart Helm para esta tecnologia e escalando uma aplicação que consome mensagens de uma fila do Azure Service Bus:
O repositório com este exemplo de escalabilidade utilizando KEDA está no GitHub:
E concluo este artigo com um convite…
Nesta terça 04/10 às 21:00 — horário de Brasília — teremos mais um evento online e gratuito no canal Canal .NET.
Uma nova live abordando mais dicas, truques e novidades no Microsoft Azure visando simplificar a implementação de aplicações .NET/C# e ASP.NET Core na nuvem!
Alguns temas previstos:
- Azure API Management: boas práticas ao expor seu Back-End na nuvem;
- Serverless, containers e muito mais!
Faça sua inscrição em:
https://bit.ly/live-dotnet-azure-dicas-3ed