O modelo de implantação do Google Kubernetes Engine (GKE) é uma boa escolha para equipes independentes que querem gerenciar a infraestrutura e a configuração dos próprios autoscalers no Kubernetes.
Este documento faz parte de uma série que também inclui:
- Spanner com escalonamento automático
- Visão geral da ferramenta de escalonamento automático
- Implantar a ferramenta de escalonador automático para o Spanner nas funções do Cloud Run
Esta série é destinada a equipes de TI, operações e engenharia de confiabilidade do site (SRE) que querem reduzir a sobrecarga operacional e otimizar o custo das implantações do Spanner.
A implantação do GKE tem as seguintes vantagens e desvantagens:
Vantagens:
- Baseado no Kubernetes: para equipes que não podem usar serviços como as funções do Cloud Run, a implantação no Kubernetes permite o uso do escalonador automático.
- Configuração: o controle sobre os parâmetros do programador pertence à equipe do proprietário da instância do Spanner, o que dá a ela os maiores privilégios para adaptar o escalonador automático às necessidades.
Desvantagens:
- Infraestrutura: em comparação com o design das funções do Cloud Run, alguns serviços e infraestruturas de longa duração são necessários.
- Manutenção: como cada equipe é responsável pela configuração e pela infraestrutura do escalonador automático, pode ser difícil garantir que todos os escalonadores automáticos na empresa sigam as mesmas diretrizes de atualização.
- Auditoria: devido ao alto nível de controle de cada equipe, uma auditoria centralizada pode se tornar mais complexa.
Nesta página, apresentamos duas maneiras de implantar o Autoscaler no GKE com base nos seus requisitos:
- Uma topologia de implantação desaneada. O modelo de implantação desacoplado tem a vantagem de poder atribuir permissões individuais aos componentes Poller e Scaler para que eles sejam executados como contas de serviço separadas. Isso significa que você tem a flexibilidade para gerenciar e dimensionar os dois componentes de acordo com suas necessidades. No entanto, esse modelo de implantação exige que o componente Scaler seja implantado como um serviço de longa duração, que consome recursos.
- Uma topologia de implantação unificada. O modelo de implantação unificado tem a vantagem de que os componentes Poller e Scaler podem ser implantados como um único pod, que é executado como um job cron do Kubernetes. Quando os dois componentes são implantados como um único pod, não há componentes de execução prolongada e apenas uma conta de serviço é necessária.
Na maioria dos casos de uso, recomendamos o modelo de implantação unificado.
Configuração
A ferramenta de escalonamento automático gerencia instâncias do Spanner pela
configuração definida em um ConfigMap
do Kubernetes.
Se várias instâncias do Spanner precisarem ser pesquisadas com o mesmo
intervalo, recomendamos que você as configure no mesmo ConfigMap
. Confira a seguir um exemplo de configuração em que duas instâncias do Spanner
são gerenciadas com uma configuração:
apiVersion: v1
kind: ConfigMap
metadata:
name: autoscaler-config
namespace: spanner-autoscaler
data:
autoscaler-config.yaml: |
---
- projectId: spanner-autoscaler-test
instanceId: spanner-scaling-linear
units: NODES
minSize: 5
maxSize: 30
scalingMethod: LINEAR
- projectId: spanner-autoscaler-test
instanceId: spanner-scaling-threshold
units: PROCESSING_UNITS
minSize: 100
maxSize: 3000
metrics:
- name: high_priority_cpu
regional_threshold: 40
regional_margin: 3
Uma instância pode ter uma configuração do escalonador automático com o método linear para
operações normais e outra configuração do escalonador automático com o
método direto para cargas de trabalho em lote planejadas. Consulte a lista completa de opções de configuração no
arquivo README
da função de pesquisa.
Implantar no GKE
Para saber como implantar o escalonador automático no GKE no modelo de implantação unificado ou desvinculado, consulte o guia detalhado de implantação do GKE.
A seguir
- Saiba como implantar a ferramenta de escalonador automático nas funções do Cloud Run.
- Leia mais sobre os limites recomendados do Spanner.
- Saiba mais sobre as métricas de uso de CPU e as métricas de latência do Spanner.
- Conheça as práticas recomendadas para o design de esquemas do Spanner para evitar pontos de acesso e carregar dados no Spanner.
- Confira arquiteturas de referência, diagramas, tutoriais e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.