Design e operações de clusters
Este artigo aborda a configuração do cluster e a estrutura da rede. Saiba como efetuar a escalabilidade à prova de futuro ao automatizar o aprovisionamento de infraestruturas. O aprovisionamento é o processo de configuração da infraestrutura de TI que pretende. O aprovisionamento de infraestrutura automatizado suporta uma instalação remota e configura ambientes virtuais. Também o ajuda a manter a elevada disponibilidade ao planear a continuidade do negócio e a recuperação após desastre.
Planear, preparar e comprovativo
À medida que começar, a lista de verificação e os recursos do Kubernetes abaixo irão ajudá-lo a planear a conceção do cluster. No final desta secção, poderá responder a estas perguntas:
- Identificou os requisitos de conceção de rede para o cluster?
- Tem serviços com diferentes requisitos? Quantos conjuntos de nós vai utilizar?
Lista de verificação:
Identificar considerações de conceção de rede. Compreenda as considerações de conceção da rede de cluster, compare modelos de rede e escolha o plug-in de rede do Kubernetes que se adequa às suas necessidades. Para a rede do Azure Container Networking Interface (CNI), considere o número de endereços IP necessários como um múltiplo dos pods máximos por nó (predefinição de 30) e o número de nós. Adicionar um nó necessário durante a atualização. Ao escolher serviços de balanceador de carga, considere utilizar um controlador de entrada quando existirem demasiados serviços para reduzir o número de pontos finais expostos. Para o Azure CNI, o CIDR do serviço tem de ser exclusivo na rede virtual e em todas as redes virtuais ligadas para garantir o encaminhamento adequado.
Para saber mais, veja:
Criar múltiplos conjuntos de nós. Para suportar aplicações com exigências de computação ou armazenamento diferentes, pode, opcionalmente, configurar o cluster com múltiplos conjuntos de nós. Por exemplo, utilize mais conjuntos de nós para fornecer GPUs para aplicações com utilização intensiva de computação ou acesso ao armazenamento SSD de elevado desempenho. Para obter mais informações, veja Criar e gerir múltiplos conjuntos de nós para um cluster no Azure Kubernetes Service.
Decida sobre os requisitos de disponibilidade. Um mínimo de dois pods atrás Azure Kubernetes Service garante a elevada disponibilidade da sua aplicação se existirem falhas ou reinícios do pod. Utilize três ou mais pods para processar a carga durante falhas e reinícios do pod. Para a configuração do cluster, é necessário um mínimo de dois nós num conjunto de disponibilidade ou conjunto de dimensionamento de máquinas virtuais para cumprir o contrato de nível de serviço de 99,95%. Utilize, pelo menos, três pods para garantir o agendamento de pods durante falhas e reinícios do nó.
Para fornecer um nível mais elevado de disponibilidade às suas aplicações, os clusters podem ser distribuídos por Zonas de Disponibilidade. Estas zonas são datacenters fisicamente separados numa determinada região. Quando os componentes do cluster são distribuídos por várias zonas, o cluster pode tolerar uma falha numa das zonas. As suas aplicações e operações de gestão permanecem disponíveis mesmo que um datacenter inteiro tenha uma falha. Para obter mais informações, veja Criar um cluster do Azure Kubernetes Service (AKS) que utiliza Zonas de Disponibilidade.
Ir para a produção e aplicar as melhores práticas de infraestrutura
À medida que prepara a aplicação para produção, implemente um conjunto mínimo de melhores práticas. Utilize esta lista de verificação nesta fase. No final desta secção, poderá responder a estas perguntas:
- Consegue reimplementar a infraestrutura do cluster com confiança?
- Aplicou quotas de recursos?
Lista de verificação:
Automatizar o aprovisionamento de clusters. Com a infraestrutura como código, pode automatizar o aprovisionamento de infraestrutura para proporcionar mais resiliência durante desastres e obter agilidade para reimplementar rapidamente a infraestrutura conforme necessário. Para obter mais informações, veja Create a Kubernetes cluster with Azure Kubernetes Service using Terraform (Criar um cluster do Kubernetes com Azure Kubernetes Service com o Terraform).
Planeie a disponibilidade com orçamentos de interrupção do pod. Para manter a disponibilidade das aplicações, defina os orçamentos de interrupção do pod (PDB) para garantir que existe um número mínimo de pods disponíveis no cluster durante falhas de hardware ou atualizações do cluster. Para saber mais, veja Planear a disponibilidade com orçamentos de interrupção do pod.
Impor quotas de recursos em espaços de nomes. Planeie e aplique quotas de recursos ao nível do espaço de nomes. As quotas podem ser definidas em recursos de computação, recursos de armazenamento e contagem de objetos. Para obter mais informações, veja Impor quotas de recursos.
Otimizar e dimensionar
Assim que a aplicação estiver em produção, como pode otimizar o fluxo de trabalho e preparar a aplicação e a equipa para dimensionar? Utilize a lista de verificação de otimização e dimensionamento para preparar. No final desta secção, poderá responder a estas perguntas:
- Tem um plano para a continuidade do negócio e recuperação após desastre?
- O cluster pode ser dimensionado para satisfazer as exigências da aplicação?
- Consegue monitorizar o estado de funcionamento do cluster e da aplicação e receber alertas?
Lista de verificação:
Dimensionar automaticamente um cluster para satisfazer as exigências da aplicação. Para acompanhar as exigências da aplicação, poderá ter de ajustar o número de nós que executam as cargas de trabalho automaticamente com o dimensionador automático do cluster. Para obter mais informações, veja Configurar o dimensionador automático de clusters do Kubernetes.
Planeie a continuidade do negócio e a recuperação após desastre. Planeie a implementação de várias regiões, crie um plano de migração de armazenamento e ative a georreplicação para imagens de contentor. Para saber mais, veja Melhores práticas para implementações de regiões - Azure Container Registry georreplicação.
Configure a monitorização e a resolução de problemas em escala. Configurar alertas e monitorização para aplicações no Kubernetes. Saiba mais sobre a configuração predefinida, como integrar métricas mais avançadas e como adicionar monitorização e alertas personalizados para operar a sua aplicação.