Design de cluster e operações

Este artigo aborda a configuração de cluster e o design de rede. Saiba como preparar a escalabilidade para o futuro automatizando o provisionamento de infraestrutura. O provisionamento é o processo de configuração da infraestrutura de TI que você deseja. O provisionamento de infraestrutura automatizada dá suporte a uma instalação remota e configura ambientes virtuais. Ele também auxilia a manter a alta disponibilidade planejando a continuidade dos negócios e recuperação de desastres.

Planejar, treinar e verificar

Ao iniciar, a lista de verificação e os recursos do Kubernetes a seguir ajudarão a planejar o design do cluster. Ao final desta seção, você poderá responder a estas perguntas:

  • Você identificou os requisitos de design de rede para seu cluster?
  • Você tem serviços com requisitos variados? Quantos pools de nós você vai usar?

Lista de verificação:

  • Identifique as considerações de design de rede. Entenda as considerações de design de rede do cluster, compare os modelos de rede e escolha o plug-in de rede do Kubernetes que atenda às suas necessidades. Para a rede de CNI (Interface de Rede de Contêiner do Azure), considere o número de endereços IP necessários como um múltiplo dos pods máximo por nó (padrão de 30) e o número de nós. Adicione um nó necessário durante a atualização. Ao escolher serviços de balanceador de carga, considere usar um controlador de entrada quando houver muitos serviços para reduzir o número de pontos de extremidade expostos. Para a CNI do Azure, o CIDR do serviço deve ser exclusivo em toda a rede virtual e em todas as redes virtuais conectadas para garantir o roteamento apropriado.

    Para obter mais informações, consulte:

  • Crie vários pools de nós. Para dar suporte a aplicativos que têm demandas de armazenamento ou de computação diferentes, você pode opcionalmente configurar o cluster com vários pools de nós. Por exemplo, use mais pools de nós para fornecer as GPUs para aplicativos de computação intensiva ou acesso ao armazenamento SSD de alto desempenho. Para mais informações, consulte Como criar e gerenciar vários pools de nós para um cluster no Serviço de Kubernetes do Azure.

  • Decida quanto aos requisitos de disponibilidade. Um mínimo de dois pods atrás do Serviço de Kubernetes do Azure garante a alta disponibilidade de seu aplicativo se houver falhas de pod ou reinicializações. Use três ou mais pods para lidar com a carga durante falhas de pod e reinicializações. Para a configuração do cluster, é necessário um mínimo de dois nós em um conjunto de disponibilidade ou conjunto de dimensionamento de máquinas virtuais para atender ao SLA de 99,95%. Use pelo menos três pods para garantir o agendamento de pod durante falhas e reinicializações de nó.

    Para fornecer um nível mais alto de disponibilidade para seus aplicativos, os clusters podem ser distribuídos entre Zonas de Disponibilidade. Essas zonas são data centers separados fisicamente em uma determinada região. Quando os componentes do cluster estão distribuídos em várias zonas, o cluster consegue tolerar uma falha em uma das zonas. Seus aplicativos e operações de gerenciamento permanecem disponíveis mesmo se um datacenter inteiro sofrer uma interrupção. Para obter mais informações, consulte Criar um cluster do Serviço de Kubernetes do Azure (AKS) que usa Zonas de Disponibilidade.

Vá para a produção e aplique as melhores práticas de infraestrutura

Ao preparar o aplicativo para produção, implemente um conjunto mínimo de melhores práticas. Use esta lista de verificação nessa fase. Ao final desta seção, você poderá responder a estas perguntas:

  • É possível reimplantar com segurança a infraestrutura do cluster?
  • Você aplicou cotas de recursos?

Lista de verificação:

  • Automatize o provisionamento de cluster. Com a infraestrutura como código, você pode automatizar o provisionamento de infraestrutura para fornecer mais resiliência durante desastres e obter agilidade para reimplantar rapidamente a infraestrutura, conforme necessário. Para obter mais informações, consulte Criar um cluster do Kubernetes com o Serviço de Kubernetes do Azure usando o Terraform.

  • Planejar a disponibilidade usando os orçamentos de interrupção de pod. Para manter a disponibilidade de aplicativos, defina os PDBs (orçamentos de interrupção de pod) para garantir que um número mínimo de pods esteja disponível no cluster durante as falha de hardware ou as atualizações do cluster. Para saber mais, consulte Planejar a disponibilidade usando os orçamentos de interrupção de pod.

  • Imponha cotas de recursos em namespaces. Planejar e aplicar cotas de recursos no nível do namespace. As cotas podem ser definidas em recursos de computação, recursos de armazenamento e contagem de objetos. Para obter mais informações, consulte Impor cotas de recursos.

Otimizar e dimensionar

Quando o aplicativo estiver em produção, como você pode otimizar seu fluxo de trabalho e preparar seu aplicativo e sua equipe para o dimensionamento? Use a lista de verificação de otimização e dimensionamento para se preparar. Ao final desta seção, você poderá responder a estas perguntas:

  • Há um plano para a continuidade dos negócios e recuperação de desastres?
  • O cluster pode ser dimensionado para atender às demandas do aplicativo?
  • Você consegue monitorar o cluster e a integridade do aplicativo e receber alertas?

Lista de verificação: