Accéder au contenu principal Passer au contenu complémentaire

Configurer la mise à l'échelle automatique (autoscaling) pour les services de données et les Routes

Availability-noteBêta

Configurez la mise à l'échelle horizontale du pod (Horizontal Pod Autoscaling (HPA)) (en anglais) pour les services de données et les Routes dans un environnement de Dynamic Engine.

Note InformationsRemarque : Cette procédure s'applique uniquement aux déploiements et mises à niveau d'un environnement de Dynamic Engine. Vous pouvez modifier ces paramètres avec une nouvelle mise à niveau.

Pourquoi et quand exécuter cette tâche

Pour activer la mise à l'échelle automatique du pod pour les services de données et les Routes, configurez le chart dynamic-engine-environment. Cette configuration vous permet également de configurer le nombre maximal de réplicas (instances de pods) pour la mise à l'échelle automatique.

Procédure

  1. Utilisez le chart Helm dynamic-engine-crd pour installer les définitions de ressources personnalisées de Dynamic Engine d'une version de Helm donnée.
    1. La version du graphique à utiliser est la même que celle de votre Dynamic Engine. Vous pouvez trouver cette version via les méthodes suivantes :
      • Exécutez la commande Helm suivante :
        helm show chart oci://ghcr.io/talend/helm/dynamic-engine --version <engine_version>
      • Visualisez la version directement depuis Talend Management Console ou consultez le Dynamic Engine journal de modification de la version du graphique dans votre version de Dynamic Engine.
      • Utilisez un appel d'API pour l'endpoint de version de Dynamic Engine (en anglais).
    2. Dans le cluster Kubernetes, exécutez la commande suivante pour installer le chart Helm dans une version donnée :
      helm install dynamic-engine-crd oci://ghcr.io/talend/helm/dynamic-engine-crd --version <helm_chart_version>
      Remplacez <helm_chart_version> par la version du chart supportée par votre version du Dynamic Engine.

      Si vous ne spécifiez pas la version, vous installez la dernière version disponible du chart dynamic-engine-crd.

  2. Sur la machine de Kubernetes, décompressez le fichier ZIP de déploiement Helm précédemment téléchargé.
  3. Créez un fichier de valeurs spécifiques de mise à l'échelle pour les services de données et les Routes.

    Exemple

    cat <<EOF > <environment-id>-custom-autoscaling-ds-routes.yaml
    configuration:
      dataServiceRouteDeployment:
        autoscaling:
          enabled: true
          maxReplicas: 5
    EOF

    Remplacez <environment-id> par l'ID de votre environnement de Dynamic Engine. Dans cet exemple, la limite maximale de mise à l'échelle automatique des pods est configurée à 5 instances de pods.

  4. Exécutez cette commande pour déployer l'instance du Dynamic Engine :
    helm install dynamic-engine -f <engine-id>-helm-values/<engine-id>-values.yaml oci://ghcr.io/talend/helm/dynamic-engine

    Ce déploiement est celui par défaut, car la personnalisation de la mise à l'échelle est nécessaire uniquement côté environnement du Dynamic Engine. Aucune personnalisation n'a été effectuée pour l'instance du Dynamic Engine.

  5. Déployez l'environnement de Dynamic Engine avec le fichier de valeurs spécifiques de mise à l'échelle automatique personnalisée.
    helm install dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
    -f <environment-id>-custom-autoscaling-ds-routes.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine-environment \
    --version <engine-version>          

    Remplacez <environment-id> et <engine-version> par l'ID de l'environnement et la version du moteur.

  6. Vérifiez la configuration de la mise à l'échelle automatique dans la configuration ConfigMap de l'environnement.
    Chaque environnement de Dynamic Engine a sa propre configuration global-configuration ConfigMap dédiée. Les mises à jour d'une configuration ConfigMap affectent uniquement l'environnement auquel cette configuration appartient.
    kubectl get configmap -n qlik-processing-env-$DYN_ENGINE_ENV_ID global-configuration -ojsonpath="{.data['global-configuration\.json']}"
     | jq -r '.dataServiceRouteDeployment'               
    Cette commande récupère la configuration de mise à l'échelle automatique des pods. La sortie doit confirmer le statut enabled (activé) et le nombre maximal de réplicas spécifié :
    {
      "autoscaling": {
        "enabled": "true",
        "minReplicas": "1",
        "maxReplicas": "5",
        "cpuAverageUtilization": "0",
        "memoryAverageUtilization": "0"
      }
    }         
    Note InformationsConseil : Lorsque des modifications sont nécessaires, mettez à jour le contenu du fichier <environment-id>-custom-autoscaling-ds-routes.yaml et exécutez helm upgrade pour appliquer les modifications :
    helm upgrade dyn-engine-env-<environment-id> -f <environment-id>-values.yaml  \
    -f <environment-id>-custom-autoscaling-ds-routes.yaml \
    oci://ghcr.io/talend/helm/dynamic-engine-environment \
    --version <engine-version>      

Résultats

Après le déploiement réussi, l'environnement de Dynamic Engine peut augmenter automatiquement le nombre d'instances de pods en fonction des variations de workload lors de l'exécution des services de données et des Routes, jusqu'au nombre maximal.

Dans Talend Management Console, le statut de cet environnement devient Ready (Prêt), confirmant qu'il est prêt à exécuter des tâches ou des plans.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.