Visão geral do cluster Kubernetes do Nexus
Este artigo descreve os principais conceitos do Cluster Kubernetes do Nexus, um serviço de Kubernetes gerenciado que você pode usar para implantar e operar aplicativos conteinerizados na Plataforma Nexus do Operador do Azure
O que é Kubernetes?
O Kubernetes é uma plataforma em rápida evolução que gerencia aplicativos baseados em contêiner e seus componentes de rede e armazenamento associados. O Kubernetes foca nas cargas de trabalho de aplicativos, não nos componentes de infraestrutura subjacentes. Fornece uma abordagem declarativa das implantações, corroborada por um sólido conjunto de APIs para as operações de gerenciamento. Veja O que é o Kubernetes para aprender mais sobre o assunto.
Serviço de Kubernetes do Nexus
O Serviço de Cluster Kubernetes do Nexus é uma distribuição do Kubernetes feita para implantação local em instâncias do Nexus. Esse serviço foi desenvolvido para facilitar a criação automática de contêineres e é otimizado para executar cargas de trabalho associadas a funções de rede que demandam grande volume de dados.
Como qualquer cluster Kubernetes, o cluster Kubernetes do Nexus tem dois componentes:
Painel de controle: fornece os principais serviços do Kubernetes e gerencia o ciclo de vida das cargas de trabalho dos aplicativos.
Nós: para executar seus aplicativos e serviços de suporte, você precisa de um nó Kubernetes. Ele disponibiliza o ambiente de runtime dos contêineres. Cada cluster do NKS possui ao menos um nó. O nó é hospedado em uma máquina virtual (VM) que executa os componentes de nó do Kubernetes. A VM é criada como parte da implantação de cluster do NKS em uma instância Nexus. Existem dois tipos de pools de nós nos Clusters Kubernetes do Nexus
- Ao criar um cluster do AKS, você define o número inicial de nós e seu tamanho (SKU), que cria um pool de nós do sistema. Os pools de nós do sistema hospedam pods críticos do sistema.
- Por outro lado, para dar suporte a aplicativos que têm demandas de armazenamento ou de computação diferentes, você pode criar pools de nós de usuário, também conhecidos como pools de agentes Nexus. Cada VM em um pool de agentes Nexus segue uma configuração uniforme, como CPU, memória, disco e assim por diante. Depois de estabelecer um pool de agentes, o número de VMs dentro dele permanecerá fixo. Para escalar a capacidade de um cluster Kubernetes do Nexus, é possível criar mais pools de agentes podem e integrá-los ao cluster existente. Em outras palavras, o pool de agentes Nexus oferece suporte a escala horizontal permitindo a adição ou remoção de pools de agentes dentro do cluster Kubernetes do Nexus.
No entanto, os pods dos aplicativos podem ser agendados em pools de nós do sistema caso o usuário queira apenas um pool de nós em seu cluster. Cada cluster Kubernetes do Nexus precisa conter pelo menos um pool de nós do sistema com no mínimo um nó.
Complementos para Cluster Kubernetes do Nexus
Os Complementos para Cluster Kubernetes do Nexus são um recurso da plataforma Nexus que permite que os clientes aprimorem seus clusters com pacotes ou recursos extras. Os complementos são categorizados em dois tipos: obrigatórios e opcionais.
Complementos obrigatórios: complementos que são automaticamente implantados em clusters Kubernetes do Nexus provisionados. Os principais complementos como Calico, MetalLB, Nexus Storage CSI, plug-ins IPAM, metrics-server, node-local-dns, Arc for Kubernetes e Arc for Servers estão incluídos por padrão na criação dos clusters. A conclusão bem-sucedida do processo de provisionamento dos clusters depende da instalação bem-sucedida desses complementos. Se uma instalação de complemento obrigatório falhar e não puder ser corrigida, o status do cluster será marcado como com falha.
Complementos opcionais: complementos que são serviços complementares associados a um recurso de Cluster Kubernetes. Os clientes podem optar por ativar ou desativar esses complementos quando quiser. Um exemplo de serviços complementares pode incluir a implantação do registro em cache de imagens locais no nível do cluster NKS para dar suporte a cenários desconectados. O NKS permite que o cliente observe o status, a integridade e a versão de cada complemento obrigatório e opcional, que podem ser monitorados no portal do Azure ou o estado pode ser buscado usando as APIs do Azure Resource Manager.
Os complementos são instalados uma vez e só podem ser atualizados quando o cliente atualiza o cluster Kubernetes do Nexus. Isso permite que os clientes apliquem correções críticas de produção sem interferência das operações de infraestrutura subjacentes, que poderiam substituir as modificações no cluster.
Zonas disponíveis do Nexus
O Nexus introduziu o conceito de Zona de Disponibilidade. Esse conceito é delineado a nível rack e permite que os clientes distribuam suas cargas de trabalho pela instância, melhorando disponibilidade. Para uma instância Nexus com oito racks, os clientes têm acesso oito zonas de disponibilidade. Cada Zona é composta por um par de servidores de gerenciamento com redundância e uma coleção de servidores de computação que funcionam como um pool de recursos. Durante implantações de vários racks no Nexus e ao realizar atualizações de pacotes de runtime, as zonas de disponibilidade oferecem o benefício adicional de atuar como um domínio de atualização. Isso garante que, no máximo, apenas os servidores de um único rack sejam desativados durante essas atualizações.
Domínio de falha
O Operador Nexus garante que os nós do Cluster Kubernetes do Nexus sejam distribuídos pelos domínios de atualização. Essa distribuição é feita de forma que e a resiliência e a disponibilidade do cluster. O Operador Nexus usa regras de afinidade do Kubernetes para agendar nós em zonas específicas. Isso garante que as VMs subjacentes não sejam colocadas no mesmo servidor físico ou no mesmo domínio de atualização, melhorando a tolerância a falhas do cluster.