Você pode escalonar a maioria dos serviços em execução no Kubernetes na linha de comando ou em uma modificação de configuração. É possível definir parâmetros
de escalonamento para serviços de ambiente de execução da Apigee híbrida no
arquivo overrides.yaml
.
Serviço | Implementado como | Escalonamento |
---|---|---|
Cassandra | ApigeeDatastore (CRD) | Consulte Como escalonar o Cassandra |
Entrada/LoadBalancer | Implantação | O Anthos Service Mesh usa o Escalonamento automático de pod horizontal (HPA, na sigla em inglês) (link em inglês). |
Logger | DaemonSet | DaemonSets gerenciam réplicas de um pod em todos os nós, para que eles sejam escalonados quando você mesmo dimensiona os pods. |
Inspetor do Apigee Connect MART |
ApigeeOrganization (CRD) | Para escalonar usando a configuração, aumente o valor da
propriedade de configuração mart: replicaCountMin: 2 replicaCountMax: 1 watcher: replicaCountMin: 2 replicaCountMax: 1 connectAgent: replicaCountMin: 2 replicaCountMax: 1 Essas implantações usam um escalonador automático de pod horizontal para fazer escalonamento automático. Defina a propriedade Para mais informações sobre como definir propriedades de configuração, consulte Gerenciar componentes do plano de execução. |
UDCA do sincronizador do ambiente de execução |
ApigeeEnvironment (CRD) | Para escalonar usando a configuração, aumente o valor da
propriedade replicaCountMin das estrofes udca , synchronizer
e/ou runtime
no arquivo de substituições. Por exemplo:
synchronizer: replicaCountMin: 10 replicaCountMax: 1 runtime: replicaCountMin: 10 replicaCountMax: 1 udca: replicaCountMin: 10 replicaCountMax: 1 Observação: essas alterações se aplicam a TODOS os ambientes do arquivo de substituições. Se você quiser personalizar o escalonamento de cada ambiente, consulte Configurações avançadas abaixo. Essas implantações usam um escalonador automático de pod horizontal para fazer
escalonamento automático. Defina a propriedade Para mais informações sobre como definir propriedades de configuração, consulte Gerenciar componentes do plano de execução. |
Configurações avançadas
Em alguns cenários, pode ser necessário usar opções avançadas de escalonamento. Exemplos de cenários:
- Como definir diferentes opções de escalonamento para cada ambiente. Por exemplo, onde env1 tem
minReplica
de 5 e env2 temminReplica
de 2. - Como definir diferentes opções de escalonamento para cada componente dentro de um ambiente Por exemplo,
onde o componente
udca
tem ummaxReplica
de 5 e o componentesynchronizer
tem ummaxReplica
de 2.
O exemplo a seguir mostra como usar o comando kubernetes patch
para alterar
a propriedade maxReplicas
do componente runtime
:
- Crie variáveis de ambiente para usar com o comando:
export ENV=my-environment-name export NAMESPACE=apigee #the namespace where apigee is deployed export COMPONENT=runtime #can be udca or synchronizer export MAX_REPLICAS=2 export MIN_REPLICAS=1
- Aplique o patch. Observe que esse exemplo considera que
kubectl
está no seuPATH
:kubectl patch apigeeenvironment -n $NAMESPACE \ $(kubectl get apigeeenvironments -n $NAMESPACE -o jsonpath='{.items[?(@.spec.name == "'$ENV'" )]..metadata.name}') \ --patch "$(echo -e "spec:\n components:\n $COMPONENT:\n autoScaler:\n maxReplicas: $MAX_REPLICAS\n minReplicas: $MIN_REPLICAS")" \ --type merge
- Veja a mudança:
kubectl get hpa -n $NAMESPACE