Scaling et autoscaling des services d'exécution

Vous pouvez effectuer le scaling de la plupart des services exécutés dans Kubernetes à partir de la ligne de commande ou dans un remplacement de configuration. Vous pouvez définir des paramètres de scaling pour les services d'exécution Apigee hybride dans le fichier overrides.yaml.

La manière dont vous effectuez le scaling et l'autoscaling de chaque service dépend du type de service.

Pour en savoir plus sur le scaling, consultez la documentation de Kubernetes.

Le tableau suivant récapitule les services d'exécution hybrides et explique comment effectuer le scaling et l'autoscaling de ces services dans les configurations ou depuis la ligne de commande :

Service Mis en œuvre en tant que Scaling
Cassandra StatefulSet

(Scaling à la hausse uniquement)

Pour effectuer un scaling à la hausse via la ligne de commande, vous pouvez utiliser les options kubectl scale ou patch.

Pour effectuer un scaling à la hausse via la configuration, définissez la valeur de la propriété de configuration replicaCount de l'objet cassandra dans le fichier overrides.yaml.

Pour en savoir plus sur la définition des propriétés de configuration, consultez la page Gérer les composants du plan d'exécution.

Les StatefulSets ne sont pas compatibles avec l'autoscaling. Cassandra est déployé dans des ensembles de 3 instances dupliquées. Apigee vous recommande d'ajouter 3 nœuds supplémentaires au pool de nœuds Cassandra en tant que nœuds de calcul de secours.

Pour réduire le nombre de nœuds Cassandra, consultez la page Scaling à la baisse dans Cassandra.

Ingress/LoadBalancer Proxy tiers Dépend du type d'entrée.
Logger DaemonSet Les DaemonSets gèrent les instances dupliquées d'un pod sur tous les nœuds. Ils évoluent donc lorsque vous effectuez le scaling des pods eux-mêmes.
MART
Synchronisateur
Métriques
MP
ApigeeDeployment (CRD personnalisé) Pour effectuer un scaling via la ligne de commande, vous pouvez utiliser l'option scale kubectl.

Pour effectuer un scaling via la configuration, augmentez la valeur de la propriété de configuration replicaCountMin du déploiement pour l'objet mart, synchronizer, metrics ou mp.

Les déploiements utilisent un autoscaler horizontal de pods pour l'autoscaling. Définissez la propriété targetCPUUtilizationPercentage de l'objet Déploiement sur le seuil d'évolutivité. Lorsque cette valeur est dépassée, Kubernetes ajoute des pods jusqu'à la valeur de replicaCountMax.

Pour en savoir plus sur la définition des propriétés de configuration, consultez la page Gérer les composants du plan d'exécution.

UDCA ApigeeDeployment (CRD personnalisé) Pour effectuer un scaling via la configuration, augmentez la valeur de la propriété replicaCountMin de l'objet udca dans le fichier overrides.yaml.

Le service UDCA utilise un autoscaler horizontal de pods pour l'autoscaling. Définissez la propriété targetCPUUtilizationPercentage de l'objet udca sur le seuil d'évolutivité. Lorsque cette valeur est dépassée, Kubernetes ajoute des pods jusqu'à la valeur replicaCountMax.

Pour en savoir plus sur la définition des propriétés de configuration, consultez la page Gérer les composants du plan d'exécution.