Clusters regionais

Nesta página, explicamos como os clusters regionais funcionam. Para aprender a criar um cluster regional, consulte Como criar um Cluster.

Visão geral

Por padrão, um cluster cria os respectivos mestre e nós em uma única zona de computação especificada no momento da criação. Para melhorar a disponibilidade e a resiliência dos clusters, crie clusters regionais.

Um cluster regional tem um único ponto de extremidade estático para toda a extensão dele e distribui os pods entre várias zonas de uma determinada região. Isso permite que você acesse o plano de controle do cluster mesmo durante uma interrupção ou inatividade envolvendo uma ou mais zonas individuais, mas não todas.

Os clusters regionais distribuem recursos do Kubernetes entre várias zonas de uma região. Os mestres e nós de um cluster regional estão espalhados entre várias zonas. O número padrão de mestres, de nós por zona e de zonas incluídas é três, mas é possível reduzir ou aumentar o número para chegar ao tamanho de cluster e ao número de zonas apropriados.

Você decide se o cluster é zonal ou regional ao criá-lo. Não é possível converter um cluster zonal existente em regional e vice-versa.

Limitações

  • Por padrão, os clusters regionais consistem em nove nós espalhados uniformemente em três zonas de uma região. Isso consome nove endereços IP. Você pode reduzir o número de nós para um por zona, se quiser. As contas do Google Cloud Platform recém-criadas recebem apenas oito endereços IP por região. Portanto, pode ser necessário solicitar um aumento das cotas de endereços IP regionais em uso dependendo do tamanho do cluster regional. Se você tiver poucos endereços IP disponíveis em uso, a criação do cluster falhará.
  • Para clusters regionais que executam GPUs, atualmente, não há nenhuma região que tenha qualquer tipo de GPU em três zonas. Se você quiser executar GPUs em um cluster regional, precisará especificar as zonas usando a sinalização --node-locations.

    A tentativa de criar um cluster de GPU que abrange três zonas retorna um erro como este:

    ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message=
              (1) accelerator type "nvidia-tesla-k80" does not exist in zone us-west1-c.
              (2) accelerator type "nvidia-tesla-k80" does not exist in zone us-west1-a.
  • Não é possível criar pools de nós em zonas fora das zonas do cluster. No entanto, você pode alterar as zonas de um cluster, o que faz com que todos os nós novos e existentes abranjam essas zonas.

Preços

Os clusters regionais são oferecidos sem custo extra.

O uso de clusters regionais exige mais das cotas regionais do projeto. Entenda as cotas e os preços do Google Kubernetes Engine antes de usar clusters regionais. Se você encontrar o erro Insufficient regional quota to satisfy request for resource, a solicitação terá excedido a cota disponível na região atual.

Além disso, o tráfego entre nós nas zonas é cobrado. Por exemplo, se você tiver um serviço em uma zona que precisa se comunicar com um serviço em outra zona, você será cobrado pelo tráfego de rede entre elas. Para mais informações, consulte Saída entre zonas na mesma região (por GB) na página de preços do Compute Engine.

Como os clusters regionais funcionam

Os clusters regionais replicam os mestres e nós em várias zonas dentro de uma única região. Por exemplo, um cluster regional na região us-east1 cria mestres e nós nas três zonas de us-east1: us-east1-b, us-east1-c e us-east1-d. Isso garante maior disponibilidade de recursos e protege os clusters contra a inatividade zonal, já que os clusters regionais e os recursos deles não falham se uma única zona falhar. No caso de interrupção da infraestrutura, o plano de controle regional continua disponível, e é possível reequilibrar os nós manualmente ou com o autoescalador de cluster.

Os benefícios do uso de clusters regionais incluem:

  • Resiliência a falha em única zona. Os clusters regionais estão disponíveis em uma região e não em uma única zona de uma região. Se uma única zona ficar indisponível, o plano de controle do Kubernetes e os recursos não serão afetados.
  • Inatividade zero nos upgrades do mestre, redimensionamento e tempo de inatividade reduzido nas falhas dele. Os clusters regionais fornecem um plano de controle de alta disponibilidade para que seja possível acessá-lo mesmo durante upgrades.

Armazenamento permanente em clusters regionais

Os discos de armazenamento permanente são recursos de zona. Quando você adiciona armazenamento permanente ao cluster, o GKE atribui o disco a uma única zona se ela não for especificada. O GKE escolhe a zona aleatoriamente. Com o uso de um StatefulSet, os discos permanentes provisionados de cada réplica são distribuídos entre as zonas.

Após o provisionamento de um disco permanente, quaisquer pods que façam referência a ele são programados para a mesma zona dele.

Não é possível anexar um disco permanente de leitura e gravação a vários nós.

Clusters regionais de dimensionamento automático

Use o autoescalador de cluster para dimensionar automaticamente os clusters regionais. Veja nas seções a seguir algumas considerações sobre o uso do autoescalador de cluster com clusters regionais.

Como superprovisionar os limites de dimensionamento

Para manter a capacidade no caso improvável de falha na zona, é possível superprovisionar os limites de dimensionamento.

Por exemplo, ao superprovisionar um cluster de três zonas em 150%, você garante que 100% do tráfego seja roteado para as zonas disponíveis se um terço da capacidade for perdida. Para fazer isso, basta especificar o máximo de seis nodes por zona em vez de quatro. Se uma zona falhar, o cluster fará o escalonamento para 12 nodes nas zonas restantes.

Da mesma forma, ao superprovisionar um cluster de duas zonas em 200%, você garante que 100% do tráfego seja roteado novamente se a metade da capacidade for perdida.

Para mais informações, consulte a documentação do autodimensionador de cluster ou as perguntas frequentes sobre dimensionamento automático na documentação do Kubernetes.

Limites do dimensionamento automático

Para saber mais sobre os limites de dimensionamento automático para clusters regionais, consulte Limites do dimensionamento automático.

Balanceamento entre zonas

Para saber como o autoescalador de cluster equilibra o tamanho do cluster entre várias zonas, consulte Balanceamento entre zonas.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Kubernetes Engine