• /
  • 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

Configuration du contrôle des agents avec Terraform

New Relic Agent Control avec Terraform rend la monitoring à grande échelle avec New Relic encore plus facile, en particulier lorsqu'il s'agit de plusieurs clusters Kubernetes. Avec Terraform et Helm, vous pouvez configurer New Relic Agent Control de manière spécifiée, répétable et évolutive sur l'ensemble de votre infrastructure Kubernetes.

Prérequis

Avant d’utiliser cette intégration dans Terraform, assurez-vous de disposer des éléments suivants :

Conseil

Lors de la configuration d’un nouveau cluster avec Terraform, assurez-vous d’utiliser le même nom de cluster lors de l’installation du contrôle de l’agent.

  • Fournisseur Helm pour Terraform : incluez le fournisseur Helm dans votre script Terraform pour que l'installation fonctionne.
  • Terraform : assurez-vous que Terraform est installé sur votre machine.

Compatibilité

Pour savoir quelles versions de Kubernetes sont compatibles avec cette solution, reportez-vous à la section compatibilité dans l'aperçu.

Installation

Si vous n'avez pas vos clientId et clientSecret, récupérez-les à l'aide de l'API NerdGraph suivante :

bash
$
curl -X POST \
>
https://api.newrelic.com/graphql \
>
-H 'Content-Type: application/json' \
>
-H 'x-api-key: [INSERT_USER_API_KEY]' \
>
--data-raw '{"query": "mutation SICreate { systemIdentityCreate(name: \"User Key for Agent Control\" organizationId: \"[INSERT_YOUR_ORG_ID]\") { clientId clientSecret } }"}' \
>
--compressed

Dans la commande, remplacez les valeurs d'espace réservé par votre organizationId et votre clé utilisateur. Cela renvoie les informations d'identification requises que vous utiliserez dans votre fichier de configuration.

Étape 1

Créez un répertoire pour votre projet et placez votre fichier main.tf à l'intérieur. Confirmez que vous avez ajouté le fournisseur Helm à votre fichier Terraform.

Étape 2

Configurez votre script Terraform avec une sortie Helm qui utilise les graphiques de New Relic pour le contrôle des agents. Voir l'exemple de script ci-dessous :

provider "helm" {
kubernetes {
config_paths = [
"~/.kube/config"
]
}
}
resource "helm_release" "newrelic" {
name = "agent-control"
repository = "https://newrelic.github.io/helm-charts/"
chart = "agent-control"
namespace = "newrelic"
create_namespace = "true"
values = [
file("./values-newrelic.yaml")
]
}

Notez que le script Terraform fait référence à un fichier values-newrelic.yaml . Il s'agit du fichier de configuration de contrôle de l'agent New Relic qui sera utilisé pour configurer le contrôle de l'agent. Il n’est pas nécessaire qu’il se trouve dans le même répertoire que le script Terraform. Vous pouvez le référencer à partir de n'importe quel emplacement en fournissant le chemin correct dans la fonction file() dans l'attribut values de la ressource helm_release .

Ou, si vous placez le fichier values-newrelic.yaml directement dans le répertoire du projet Terraform, le script main.tf le référencera automatiquement.

Voici un exemple de fichier values-newrelic.yaml de base sans configuration supplémentaire incluse :

global:
cluster: [YOUR_CLUSTER_NAME]
licenseKey: [YOUR_INGEST_LICENSE_KEY]
agent-control-deployment:
identityClientId: [YOUR_IDENTITY_CLIENT_ID]
identityClientSecret: [YOUR_IDENTITY_CLIENT_SECRET]
config:
fleet_control:
# optional
fleet_id: [YOUR_FLEET_ENTITY_GUID]
auth:
organizationId: [ORG_ID]
agentControl:
content:
log:
level: trace

Pour explorer tous les paramètres de configuration disponibles, reportez-vous à values-newrelic.yaml.

Étape 3

Initialisez et révisez le script Terraform :

bash
$
terraform init
bash
$
terraform plan

Étape 4

Appliquez vos modifications :

bash
$
terraform apply

Étape 5

Vérifiez que le pod de l'agent est correctement construit à l'aide de Kube Control :

bash
$
kubectl get pods -n newrelic

Configuration

Dans values-newrelic.yaml, vous pouvez configurer l'installation de plusieurs agents de monitoring. Cet exemple montre les options disponibles, y compris l'agent infrastructure de New Relic, l'agent de logs Fluent Bit, l'agent collecteur OpenTelemetry et l'agent de gateway New Relic Contrôle de pipeline :

agent-control-deployment:
identityClientId: [YOUR_IDENTITY_CLIENT_ID]
identityClientSecret: [YOUR_IDENTITY_CLIENT_SECRET]
config:
subAgents:
infrastructure:
type: newrelic/com.newrelic.infrastructure:0.1.0
content:
chart_version: "*"
chart_values:
newrelic-infrastructure:
enableProcessMetrics: true
logs:
type: newrelic/io.fluentbit:0.1.0
content:
# Ref: `https://github.com/newrelic/helm-charts/tree/master/charts/newrelic-logging`
# Recommended: check and define an explicit chart version (latest stable)
chart_version: "*"
chart_values:
newrelic-logging:
sendMetrics: true
agent-operator:
type: com.newrelic.k8s_agent_operator:0.1.0
content:
chart_version: "*"
open-telemetry:
type: newrelic/io.opentelemetry.collector:0.1.0
content:
# Ref: `https://github.com/newrelic/helm-charts/blob/master/charts/nr-k8s-otel-collector/values.yaml`
# Recommended: check and define an explicit chart version (latest stable)
chart_version: "*"
chart_values:
nr-k8s-otel-collector:
receivers.filelog.enabled: false
gateway:
type: newrelic/com.newrelic.pipeline_control_gateway:0.1.0
content:
chart_version: "*"
chart_values:
gateway:
autoscaling:
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 70

Désinstaller

Important

Supprimer une ressource de sortie Helm de votre configuration Terraform est une action destructrice. Après avoir exécuté terraform apply suite à cette modification, Terraform désinstallera et détruira les ressources associées dans votre cluster Kubernetes. Cela peut entraîner la perte de données et de configuration liées aux ressources gérées par cette sortie Helm . Avant de procéder, assurez-vous de bien comprendre l’impact potentiel sur votre environnement :

  • Passez en revue toutes les dépendances et tous les services qui pourraient être touchés.
  • Pensez à sauvegarder toutes les données persistantes ou la configuration liée à la sortie.
  • Confirmez que la suppression de cette sortie est nécessaire et correspond à votre stratégie de gestion infrastructure . Soyez toujours prudent lorsque vous apportez des modifications importantes à votre infrastructure et assurez-vous de disposer de procédures de restauration appropriées en cas de problème.
  • Exécutez terraform plan: après avoir supprimé le bloc de ressources Helm sortie de votre configuration, exécutez la commande terraform plan . Cela vous permet de consulter les modifications que Terraform prévoit d’apporter à votre infrastructure. Examinez attentivement la sortie du plan pour vous assurer que seules les ressources prévues sont marquées pour suppression. Cette étape est essentielle pour vérifier qu’aucune suppression ou modification involontaire ne se produira.
  • Exécutez terraform apply: si les résultats du plan Terraform correspondent à vos attentes, continuez en exécutant la commande terraform apply . Cela mettra en œuvre les modifications prévues, supprimant ainsi efficacement la sortie Helm spécifiée de votre environnement. Confirmez l'exécution lorsque vous êtes invité à terminer le processus de désinstallation.
Droits d'auteur © 2025 New Relic Inc.

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