• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Mettez à l'échelle automatiquement votre infrastructure avec Kubernetes

Se préparer à un événement de pointe de demande demande du temps : il faut établir sa base de référence, évaluer ses accords de niveau de service et aligner toutes ses équipes autour des mêmes données. La mise à l’échelle de votre infrastructure comporte des considérations similaires, mais implique également de projeter les besoins du système par rapport aux coûts. Comment équilibrer les deux sans sacrifier les performances ? Où se situe le seuil du « suffisamment bon » ?

Une solution est la mise à l’échelle automatique horizontale pod (HPA), qui est construite avec notre intégration Kubernetes avec Pixie. Une fois que vous avez configuré HPA, votre cluster Kubernetes alloue automatiquement davantage de pods lorsque la demande atteint un pic, puis les désalloue lorsque la demande diminue. Cela vous permet d’éviter les problèmes de coût lorsque vous anticipez la demande.

Diagram demonstrating how HPA interacts with New Relic at a high level.

Le didacticiel suppose que vous utilisez le cluster Kubernetes. Pour configurer HPA, vous aurez besoin de :

  • Un cluster Kubernetes exécutant une version prise en charge.
  • Votre utilisateur New Relic
  • Aucun autre adaptateur métrique externe installé dans le cluster

Objectifs

Ce didacticiel vous guide dans la configuration d'un environnement de démonstration pour HPA. Vous serez:

  • Installer l'intégration New Relic Kubernetes
  • Configurer un environnement d'exemple pour tester la mise à l'échelle automatique

Transférer les métriques vers Kubernetes

Cloner notre référentiel (repository) du laboratoire New Relic Pixie

Cloner le référentiel (repository) suivant depuis Github :

bash
$
git clone https://github.com/newrelic-experimental/pixie-lab-materials
$
​​cd pixie-lab-materials/main
$
./setup.sh

Le script setup.sh lance un nouveau cluster minikube à l'aide du pilote hyperkit pris en charge par Pixie. Il configure ensuite votre mémoire réseau et votre CPU pour des performances optimales avec Pixie et crée tous les pods et services qui composent l'application de démonstration.

Dans une nouvelle fenêtre de terminal, ouvrez un tunnel minikube :

bash
$
minikube tunnel -p minikube-pixie-lab

Vous devriez avoir deux terminaux :

  • Votre tunnel, qui reste ouvert pour accéder à votre application de démonstration.
  • Un endroit pour exécuter des commandes pour le didacticiel.

Installer l'intégration Kubernetes avec Pixie

Suivez notre installation guidée pour installer l'intégration New Relic Kubernetes. Cela connecte New Relic à votre cluster Kubernetes. Assurez-vous de :

  • Cochez Instant service-level insights, Full-body requests et Application profiles through Pixie pour activer Pixie.

  • Conservez tous les autres éléments cochés par défaut

    Une fois que vous avez cliqué sur Continuer, copiez et collez cette commande dans votre environnement de développement.

Installer le nouvel adaptateur Relic Métriques

Pour installer l'adaptateur Métriques New Relic, utilisez le graphique Helm newrelic-k8s-metrics-adapter. Si vous avez utilisé nri-bundle-chart pour déployer des composants New Relic Kubernetes, vous avez accès à ce graphique Helm.

bash
$
helm upgrade --install newrelic newrelic/nri-bundle \
>
--namespace newrelic --create-namespace --reuse-values \
>
--set metrics-adapter.enabled=true \
>
--set newrelic-k8s-metrics-adapter.personalAPIKey=YOUR_NEW_RELIC_PERSONAL_API_KEY \
>
--set newrelic-k8s-metrics-adapter.config.accountID=YOUR_NEW_RELIC_ACCOUNT_ID \
>
--set newrelic-k8s-metrics-adapter.config.externalMetrics.manipulate_average_requests.query="FROM Metric SELECT average(http.server.duration) WHERE instrumentation.provider='pixie'"

Voici ce que font ces drapeaux :

  • metrics-adapter.enabled: Définit sur true pour installer le graphique d'adaptateur de métriques

  • newrelic-k8s-metrics-adapter.personalAPIKey: Définit votre clé API New Relic.

  • newrelic-k8s-metrics-adapter.accountID: L'ID du compte qui transmet les métriques.

  • newrelic-k8s-metrics-adapter.config.externalMetrics.external_metric_name.query: Ajoute une nouvelle métrique externe avec les informations suivantes :

    • external_metric_name:Le nom de la métrique.
    • query:La requête NRQL de base pour la métrique.

Confirmez que votre requête NRQL est exacte

Vous devez tester votre requête avant d’envoyer des métriques à l’autoscaler depuis New Relic. Accédez à one.newrelic.com > Query your Data, puis copiez et collez la requête NRQL suivante :

FROM Metric SELECT average(http.server.duration) WHERE instrumentation.provider='pixie'

Configurez votre autoscaler

Depuis le répertoire pixie-lab-materials/main/kube , créez un nouveau fichier appelé hpa.yml. L'adaptateur de métriques New Relic envoie des données au gestionnaire de contrôleur, qui est défini par la définition HPA dans ce fichier YAML.

kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta2
metadata:
name: manipulate-scaler
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: manipulation-service
minReplicas: 1
maxReplicas: 10
metrics:
- type: External
external:
metric:
name: manipulate_average_requests
target:
type: Value
value: 100

Appliquez le nouveau fichier YAML en exécutant :

bash
$
cd pixie-lab-materials/main/kube
$
kubectl apply -f hpa.yaml

Vérifiez votre travail : ajoutez une charge pour déclencher la mise à l'échelle automatique

  1. Accédez au déploiement de votre site avec kubectl get services.
  2. Ouvrez le EXTERNAL-IP de votre service frontal dans votre navigateur.
  3. Installez hey et passez à la version 1.17 avec brew install hey.
  4. Envoyer la requête GET au EXTERNAL-IP avec hey -n 10 -c 2 -m GET http://<EXTERNAL-IP>.
  5. Monitorez l'appel automatique de votre HPA avec watch kubnectl get hpa.

Vous avez configuré avec succès HPA si le pod met automatiquement à l'échelle le nombre de répliques à mesure que le temps moyen de requête HTTP augmente. Vous pouvez ajuster la configuration de vos propres services afin que New Relic et HPA s'adaptent automatiquement selon vos besoins.

1Get started

Obtenez des données sur votre architecture avec les agents APM et d'infrastructure

2Create service levels for gameday

Créez un niveau de service éclairé par votre base de référence

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.