Aperçu
Nous travaillons toujours sur cette fonctionnalité, mais nous aimerions que vous l'essayiez !
Cette fonctionnalité est actuellement fournie dans le cadre d'un programme d'aperçu conformément à nos politiques de pré-sortie.
Si vous souhaitez tester Agent Control sur un cluster déjà instrumenté avec New Relic, vous devrez supprimer les agents New Relic existants et les gérer via Agent Control. Toutes les fonctionnalités et toutes configuration exposées par le graphique Helm de chaque agent peuvent toujours être appliquées de manière unifiée via le contrôle de l'agent.
Associez l'instrumentation existante aux nouveaux agents gérés par l'Agent Control
Tout d’abord, faites correspondre votre instrumentation existante avec les agents pris en charge.
Vous pouvez déployer et gérer via l'Agent Control :
Les cartes Helm suivantes sont incluses dans la carte
nri-bundle
:newrelic-infrastructure
,nri-kube-events
,kube-state-metrics
etnri-kube-events
(désormais gérés via le type d'agent New Relic Infrastructure)newrelic-prometheus-configurator
(désormais géré via le type d'agent New Relic Prometheus)newrelic-logging
(désormais géré via le type d'agent Fluent Bit)
Le graphique
nr-k8s-otel-collector
(désormais géré via le type d'agent New Relic OpenTelemetry Collector)
Si vous avez installé des agents à l’aide de Helm, récupérez votre configuration d’installation à partir du cluster en exécutant la commande suivante :
$$ helm get values <release-name> --namespace <namespace-name>
Si vous avez enregistré le fichier de l'installation, vous n'avez rien à faire.
En revanche, si vous avez instrumenté le cluster via un manifeste, recherchez les options correspondantes dans chaque graphique d'agent.
CONSEIL
Vous pouvez continuer à conserver tous les agents ou composants du cluster, en particulier ceux qui ne sont pas encore pris en charge par Agent Control. Pour garantir la meilleure expérience, assurez-vous de conserver le même nom de cluster et de pointer vers le même compte.
Créez la configuration values.yaml
pour installer l'agent de contrôle
Démarrez l'installation d'Agent Control via l'installation guidée et sélectionnez tous les agents qui vous intéressent. Copiez le fichier values.yaml
sur votre machine locale. Avant de l'appliquer, mettez à jour chaque configuration d'agent pour qu'elle corresponde à la configuration des agents déjà en cours d'exécution dans le cluster.
Désinstallez les agents que vous souhaitez contrôler
Désinstallez les agents et les composants que vous souhaitez gérer via Agent Control. Reportez-vous à la documentation de l'agent existant pour obtenir des instructions sur la façon de les désinstaller.
Installation Helm
Après avoir modifié votre fichier values.yaml
, continuez avec les étapes d'installation incluses dans l'installation guidée.
Exemple
Nous avions déjà un cluster instrumenté via les cartes Helm. Nous avons récupéré le values.yaml
suivant à partir d'une sortie de nri-bunle
:
global: cluster: test-migration licenseKey: ***kube-state-metrics: enabled: falsenewrelic-prometheus-agent: enabled: truenewrelic-infrastructure: enabled: true kubelet: tolerations: - operator: "Exists" effect: "NoSchedule" - operator: "Exists" effect: "NoExecute" - operator: "Exists" key: "MyToleration" ksm: enabled: false common: config: interval: 29snewrelic-logging: enabled: true image: tag: "latest" resources: limits: cpu: 200m requests: cpu: 200mnri-kube-events: enabled: true customAttributes: test_tag_label: test_tag_value
Notez que nri-kube-events
, newrelic-logging
et newrelic-infrastructure
ont une configuration qui doit être réutilisée pour la configuration avec Agent Control. D'autre part, newrelic-prometheus-agent
a été installé dans le cadre de nri-bundle
et n'avait aucune configuration supplémentaire. De plus, nous avions défini le composant KSM sur false
.
Nous récupérons ensuite la configuration créée via l'installation guidée et modifions le fichier values.yaml
afin que les agents que vous prévoyez de gérer soient activés tout en conservant les mêmes paramètres que les agents désinstallés.
global: cluster: "test-migration" licenseKey: "****"agent-control-deployment: identityClientId: "****" identityClientSecret: "****" config: fleet_control: fleet_id: "****" auth: organizationId: "****" subAgents: logs: type: newrelic/io.fluentbit:0.1.0 content: chart_version: "1.25.1" chart_values: newrelic-logging: image: tag: "latest" resources: limits: cpu: 200m requests: cpu: 200m infrastructure: type: newrelic/com.newrelic.infrastructure:0.1.0 content: chart_version: "5.0.109" chart_values: newrelic-infrastructure: kubelet: tolerations: - operator: "Exists" effect: "NoSchedule" - operator: "Exists" effect: "NoExecute" - operator: "Exists" key: "MyToleration" ksm: enabled: false common: config: interval: 29s nri-kube-events: customAttributes: test_tag_label: test_tag_value kube-state-metrics: enabled: false prometheus: type: newrelic/com.newrelic.prometheus:0.1.0 content: chart_version: "1.15.4"
Ensuite, nous supprimons l’ancienne instrumentation :
$helm delete my-installation -n newrelic
Enfin, nous créons le nouveau via Agent Control :
$helm upgrade --install agent-control -n newrelic newrelic/agent-control --create-namespace --values my_migrated_values.yaml