Escolha um Kubernetes na opção de computação de borda

Este documento discute as compensações para várias opções disponíveis para estender a computação na borda. As seguintes considerações para cada opção do Kubernetes são abordadas:

  • Custo operacional. A mão de obra esperada necessária para manter e operar os clusters do Kubernetes.

  • Facilidade de configuração. O nível de dificuldade para configurar e implantar um cluster do Kubernetes.

  • Flexibilidade. Uma medida de quão adaptável a opção do Kubernetes é integrar uma configuração personalizada com a infraestrutura existente na borda.

  • Nó misto. Capacidade de executar um cluster do Kubernetes com nós Linux e Windows.

Suposições

  • Você é um operador de cluster procurando entender diferentes opções para executar o Kubernetes na borda e gerenciar clusters no Azure.

  • Você tem uma boa compreensão da infraestrutura existente e de quaisquer outros requisitos de infraestrutura, incluindo requisitos de armazenamento e rede.

Depois de ler este documento, você estará em uma posição melhor para identificar qual opção melhor se adapta ao seu cenário e ao ambiente necessário.

Resumo das opções do Kubernetes

Custo operacional Facilidade de configuração Flexibilidade Nó misto Resumo
Kubernetes bare-metal Alto** Difícil** Alto** Sim Uma configuração básica em qualquer infraestrutura disponível no local com a opção de usar o Azure Arc para recursos adicionais do Azure.
K8s no Azure Stack Edge Pro Baixo Fácil Baixo Apenas Linux Kubernetes implantados no dispositivo Azure Stack Edge implantado no local.
Híbrido do AKS Baixo Fácil Médio Sim AKS implantado no Azure Stack HCI ou no Windows Server 2019.

*Outras plataformas de borda gerenciadas (OpenShift, Tanzu e assim por diante) não estão no escopo deste documento.

**Estes valores se baseiam no uso de kubeadm por uma questão de simplicidade. Diferentes opções para executar o Kubernetes bare-metal na borda alterariam a classificação nessas categorias.

Kubernetes bare-metal

Configuração básica do Kubernetes usando ferramentas como kubeadm em qualquer infraestrutura subjacente.

As maiores restrições para o Kubernetes bare-metal estão em torno das necessidades e requisitos específicos da organização. A oportunidade de usar qualquer distribuição, interface de rede e plug-in significa maior complexidade e custo operacional. Mas isso oferece a opção mais flexível para personalizar seu cluster.

Cenário

Muitas vezes, os locais de borda têm requisitos específicos para executar clusters do Kubernetes que não são atendidos com as outras soluções do Azure descritas neste documento. Ou seja, essa opção geralmente é melhor para aqueles que não podem usar serviços gerenciados devido à infraestrutura existente sem suporte ou para aqueles que buscam ter o máximo controle de seus clusters.

  • Essa opção pode ser especialmente difícil para aqueles que são novos no Kubernetes. Isso não é incomum para organizações que desejam executar clusters de borda. Opções como MicroK8s ou k3s visam achatar essa curva de aprendizado.

  • É importante entender qualquer infraestrutura subjacente e qualquer integração que se espera que ocorra antecipadamente. Isso ajudará a restringir as opções viáveis e a identificar quaisquer lacunas com as ferramentas de código aberto e/ou plug-ins.

  • Habilitar clusters com o Azure Arc apresenta uma maneira simples de gerenciar seu cluster do Azure junto com outros recursos. Isso também traz outros recursos do Azure para seu cluster, incluindo o Azure Policy, o Azure Monitor, o Microsoft Defender para Nuvem e outros serviços.

  • Como a configuração do cluster não é trivial, é especialmente importante ter atenção ao CI/CD. Rastrear e agir sobre as alterações upstream de vários plug-ins e garantir que essas alterações não afetem a integridade do seu cluster torna-se uma responsabilidade direta. É importante que você tenha uma solução de CI/CD forte, testes fortes e monitoramento em vigor.

Opções de ferramentas

Inicialização do cluster:

  • kubeadm: ferramenta Kubernetes para criar clusters Kubernetes básicos. Bom para recursos de computação padrão (Linux/Windows).

  • MicroK8s: administração e configuração simplificadas ("LowOps"), Kubernetes em conformidade com a Canonical.

  • k3s: distribuição Kubernetes certificada criada para a IoT (Internet das Coisas) e a computação de borda.

Armazenamento:

  • Explore os drivers CSI disponíveis: muitas opções estão disponíveis para atender às suas necessidades, da nuvem aos compartilhamentos de arquivos locais.

Rede:

  • Uma lista completa de complementos disponíveis pode ser encontrada aqui: Complementos de rede. Algumas opções populares incluem a Flannel, uma rede de sobreposição simples, e o Calico, que fornece uma pilha de rede completa.

Considerações

Custo operacional:

  • Sem o suporte que vem com os serviços gerenciados, cabe à organização manter e operar o cluster como um todo (armazenamento, rede, upgrades, observabilidade, gerenciamento de aplicativos). O custo operacional é considerado alto.

Facilidade de configuração:

  • Avaliar as muitas opções de código aberto em cada estágio da configuração, sejam elas de rede, armazenamento ou monitoramento, é inevitável e pode se tornar complexo. Requer mais consideração para configurar um CI/CD para configuração de cluster. Devido a essas preocupações, a facilidade de configuração é considerada difícil.

Flexibilidade:

  • Com a capacidade de usar qualquer ferramenta ou plug-in de código aberto sem quaisquer restrições de provedor, o Kubernetes bare-metal é altamente flexível.

Kubernetes no Azure Stack Edge

Cluster Kubernetes (uma VM mestre e uma VM de trabalho) configurado e implantado para você em seu dispositivo Azure Stack Edge Pro.

Os dispositivos Azure Stack Edge Pro entregam capacidades do Azure, como computação, armazenamento, rede e ML (machine learning) acelerado por hardware para qualquer local de borda. Os clusters do Kubernetes poderão ser criados quando a função de computação estiver habilitada em qualquer um dos dispositivos Pro-GPU, Pro-R e Mini-R. O gerenciamento de atualizações do cluster do Kubernetes pode ser feito usando atualizações padrão disponíveis para o dispositivo.

Cenário

Ideal para aqueles com cargas de trabalho de IoT existentes (Linux) ou atualizando sua computação para ML na borda. Essa é uma boa opção quando não é necessário ter um controle mais granular sobre os clusters.

  • As permissões de administrador não são concedidas por padrão. Embora você possa trabalhar com o grupo de produtos para fazer certas exceções, isso dificulta um controle mais fino do cluster.

  • Haverá um custo extra se ainda não houver um dispositivo Azure Stack Edge. Explore os dispositivos Azure Stack Edge e veja se algum deles atende aos seus requisitos de computação.

  • Calico, MetalLB e CoreDNS são instalados para a rede Kubernetes no dispositivo.

  • Somente cargas de trabalho Linux têm suporte no momento.

  • Além do Kubernetes, o Azure Stack Edge também vem com o tempo de execução da IoT, o que significa que as cargas de trabalho também podem ser implantadas em seus clusters do Azure Stack Edge por meio do IoT Edge.

  • O suporte para dois clusters de nó não está disponível no momento. Isso efetivamente significa que essa opção não é uma solução HA (alta disponibilidade).

Considerações

Custo operacional:

  • Com o suporte que acompanha o dispositivo, o custo operacional é mínimo e tem como escopo o gerenciamento da carga de trabalho.

Facilidade de configuração:

  • A implantação de cluster do Kubernetes pré-configurada e bem documentada simplifica a configuração necessária em comparação com o Kubernetes bare-metal.

Flexibilidade:

  • A configuração já está definida e as permissões de administrador não são concedidas por padrão. O envolvimento do grupo de produtos pode ser necessário além da configuração básica, e a infraestrutura subjacente deve ser um dispositivo Azure Stack Edge Pro, tornando essa uma opção menos flexível.

Híbrido do AKS

O AKS híbrido é um conjunto de definições e configurações predefinidas que é usado para implantar um ou mais clusters Kubernetes (com módulos do Windows Admin Center ou do PowerShell) em um cluster de vários nós que executa o Windows Server ou o Azure Stack HCI 20H2 ou posterior.

Cenário

Ideal para aqueles que desejam uma maneira simplificada e simplificada de obter um cluster com suporte da Microsoft em dispositivos compatíveis (Azure Stack HCI ou Windows Server). As operações e a complexidade de configuração são reduzidas às custas da flexibilidade quando comparadas à opção Kubernetes bare-metal.

Considerações

Custo operacional:

  • O cluster com suporte da Microsoft minimiza os custos operacionais.

Facilidade de configuração:

  • A implantação de cluster do Kubernetes pré-configurada e bem documentada simplifica a configuração necessária em comparação com o Kubernetes bare-metal.

Flexibilidade:

  • A configuração do cluster em si é definida, mas as permissões de administrador são concedidas. A infraestrutura subjacente deve ser o Azure Stack HCI ou o Windows Server. 2019. Essa opção é mais flexível do que o Kubernetes no Azure Stack Edge e menos flexível do que o Kubernetes bare-metal.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas

Para obter mais informações, consulte os seguintes artigos: