Escolha uma opção de computação do Kubernetes na 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 Kubernetes.

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

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

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

Pressupostos

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

  • Você tem um bom entendimento 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
Bare-metal Kubernetes 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 Mínimo Fácil Mínimo Apenas Linux Kubernetes implantado no dispositivo Azure Stack Edge implantado no local.
AKS híbrido Mínimo Fácil Meio Sim AKS implantado no Azure Stack HCI ou Windows Server 2019.

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

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

Bare-metal Kubernetes

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 plugin significa maior complexidade e custo operacional. Mas isso oferece a opção mais flexível para personalizar seu cluster.

Cenário

Muitas vezes, os pontos de presença têm requisitos específicos para executar clusters 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 procuram executar clusters de borda. Opções como MicroK8s ou k3s visam achatar essa curva de aprendizagem.

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

  • 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 a Política do Azure, o Azure Monitor, o Microsoft Defender for Cloud e outros serviços.

  • Como a configuração do cluster não é trivial, é especialmente importante estar atento ao CI/CD. Acompanhar e agir sobre as alterações upstream de vários plugins, e certificar-se de que essas alterações não afetam a integridade do seu cluster, torna-se uma responsabilidade direta. É importante que você tenha uma solução de CI/CD forte, testes sólidos e monitoramento em vigor.

Opções de ferramentas

Bootstrap de 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 construída para Internet das Coisas (IoT) e edge computing.

Armazenamento:

Rede:

  • Uma lista completa de complementos disponíveis pode ser encontrada aqui: Complementos de rede. Algumas opções populares incluem Flannel, uma rede de sobreposição simples, e 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 de configuração, seja suas opções 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 de código aberto ou plugin sem 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 fornecem recursos do Azure como computação, armazenamento, rede e aprendizado de máquina (ML) acelerado por hardware para qualquer ponto de presença. Os clusters Kubernetes podem ser criados assim que 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 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.

  • Há um custo extra se ainda não houver um dispositivo Azure Stack Edge. Explore os dispositivos do Azure Stack Edge e veja se algum se encaixa nos seus requisitos de computação.

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

  • Apenas cargas de trabalho Linux são suportadas 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. Isto significa efetivamente que esta opção não é uma solução altamente disponível (HA).

Considerações

Custo operacional:

  • Com o suporte fornecido com 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.

AKS híbrido

O AKS híbrido é um conjunto de definições e configurações predefinidas usado para implantar um ou mais clusters Kubernetes (com módulos do Windows Admin Center ou PowerShell) em um cluster de vários nós executando 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 suportado pela Microsoft em dispositivos compatíveis (Azure Stack, HCI ou Windows Server). A complexidade das operações e da configuração é reduzida em detrimento da flexibilidade quando comparada à opção bare-metal do Kubernetes.

Considerações

Custo operacional:

  • O cluster suportado pela 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.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

  • Prabhjot Kaur - Brasil | Arquiteto Principal de Soluções na Nuvem

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

Próximos passos

Para obter mais informações, consulte os seguintes artigos que podem estar em inglês: