Pode dimensionar a maioria dos serviços executados no Kubernetes a partir da linha de comandos ou numa substituição de configuração. Pode definir parâmetros de escalabilidade para os serviços de tempo de execução híbrido do Apigee no ficheiro overrides.yaml
.
Serviço | Implementado como | Dimensionar |
---|---|---|
Cassandra | ApigeeDatastore (CRD) | Consulte o artigo Dimensionar o Cassandra. |
Ingress/LoadBalancer | Implementação | O Anthos Service Mesh usa a escala automática horizontal de pods (HPAs). |
Logger | DaemonSet | Os DaemonSets gerem réplicas de um pod em todos os nós, pelo que são dimensionados quando dimensiona os próprios pods. |
MART Apigee Connect Watcher |
ApigeeOrganization (CRD) | Para dimensionar através da 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 Estas implementações usam um redimensionador automático horizontal de pods para a escala automática. Defina a propriedade Para mais informações sobre a definição de propriedades de configuração, consulte o artigo Faça a gestão dos componentes do plano de tempo de execução. |
Runtime Synchronizer UDCA |
ApigeeEnvironment (CRD) | Para dimensionar através da configuração, aumente o valor da propriedade
replicaCountMin para as estrofes udca , synchronizer
e/ou runtime
no ficheiro de substituições. Por exemplo:
synchronizer: replicaCountMin: 10 replicaCountMax: 1 runtime: replicaCountMin: 10 replicaCountMax: 1 udca: replicaCountMin: 10 replicaCountMax: 1 Nota: estas alterações aplicam-se a TODOS os ambientes no ficheiro de substituições. Se quiser personalizar o dimensionamento para cada ambiente, consulte as Configurações avançadas abaixo. Estas implementações usam um redimensionador automático horizontal de pods para a
escala automática. Defina a propriedade Para mais informações sobre a definição de propriedades de configuração, consulte o artigo Faça a gestão dos componentes do plano de tempo de execução. |
Configurações avançadas
Em alguns cenários, pode ter de usar opções de dimensionamento avançadas. Exemplos de cenários:
- Definir diferentes opções de dimensionamento para cada ambiente. Por exemplo, onde env1 tem um
minReplica
de 5 e env2 tem umminReplica
de 2. - Definir diferentes opções de escalabilidade para cada componente num ambiente. Por exemplo,
onde o componente
udca
tem ummaxReplica
de 5 e o componentesynchronizer
tem ummaxReplica
de 2.
O exemplo seguinte 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. Tenha em atenção que este exemplo pressupõe que
kubectl
está emPATH
: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
- Valide a alteração:
kubectl get hpa -n $NAMESPACE