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.
Fleet Control for Kubernetes clusters est en disponibilité générale (GA). La prise en charge de la gestion des agents sur Linux and Windows hosts est actuellement en version préliminaire publique.
Vous pouvez utiliser NerdGraph pour gérer de manière programmatique les flottes, les membres et les déploiements de Fleet Control. Ces mutations offrent un contrôle total sur les opérations de la flotte, vous permettant d'automatiser la gestion de la flotte, de vous intégrer aux pipelines CI/CD et de gérer l'instrumentation à grande échelle.
Ce tutoriel fournit des exemples des mutations et requêtes Fleet Control disponibles. Vous pouvez les utiliser pour créer des flottes, gérer les membres de la flotte et déployer des configurations d'agent.
Vous pouvez également utiliser le Fleet Control CLI pour la gestion de flotte en ligne de commande. La CLI est construite sur la même API NerdGraph.
Important
Les configurations de l'agent sont gérées via l'Blob Storage API, et non NerdGraph. Toutes les opérations de configuration utilisent une API REST distincte.
Mutations de la gestion de flotte
Utilisez la mutation fleetControlCreateFleet pour créer une nouvelle flotte afin de gérer des groupes de Kubernetes clusters ou d'hôtes.
Paramètres d'entrée
paramètres
Type de données
Est-ce requis ?
Description
fleetEntity
Objet
Oui
L'entrée de création de l'entité de flotte contenant la configuration de la flotte.
fleetEntity.name
Chaîne
Oui
Le nom de la flotte. Doit être unique au sein de votre organisation.
fleetEntity.managedEntityType
Énumération
Oui
Le type d'entités que cette flotte gérera. Options :
HOST
(pour les hôtes Linux/Windows) ou
KUBERNETESCLUSTER
.
fleetEntity.scope
Objet
Oui
Le périmètre de l'entité définissant si la flotte est à l'échelle du compte ou de l'organisation.
fleetEntity.scope.type
Énumération
Oui
Type de périmètre. Options :
ACCOUNT
ou
ORGANIZATION
.
fleetEntity.scope.id
Identifiant
Oui
L'ID du compte ou l'ID de l'organisation, selon le type de périmètre.
fleetEntity.description
Chaîne
Non
Une description de l'objectif de la flotte.
fleetEntity.operatingSystem
Objet
Non
Type de système d'exploitation pour les flottes HOST. Requis si
managedEntityType
est
HOST
.
fleetEntity.operatingSystem.type
Énumération
Oui (si operatingSystem est fourni)
Type d'OS. Options :
LINUX
ou
WINDOWS
.
fleetEntity.tags
Array
Non
Liste d'objets de tag pour catégoriser le parc.
Demande d'échantillon
mutationCreateFleet{
fleetControlCreateFleet(
fleetEntity:{
name:"Production Web Servers"
description:"Fleet for all production Linux web server hosts"
managedEntityType:HOST
operatingSystem:{type:LINUX}
scope:{type:ACCOUNT,id:"YOUR_ACCOUNT_ID"}
tags:[
{key:"environment",values:["production"]}
{key:"team",values:["platform"]}
]
}
){
entity{
id
name
description
managedEntityType
}
}
}
Exemple de réponse
{
"data":{
"fleetControlCreateFleet":{
"entity":{
"id":"<YOUR_FLEET_ID>",
"name":"Production Web Servers",
"description":"Fleet for all production Linux web server hosts",
"managedEntityType":"HOST"
}
}
}
}
Utilisez la mutation fleetControlUpdateFleet pour mettre à jour le nom, la description ou les tags d'une flotte existante.
Paramètres d'entrée
paramètres
Type de données
Est-ce requis ?
Description
id
Identifiant
Oui
L'ID de l'entité de la flotte à mettre à jour.
fleetUpdate
Objet
Oui
L'entrée de mise à jour de la flotte contenant les champs à modifier.
fleetUpdate.name
Chaîne
Non
Nom de la flotte mis à jour.
fleetUpdate.description
Chaîne
Non
Description de la flotte mise à jour.
fleetUpdate.tags
Array
Non
Liste des tags mise à jour.
Demande d'échantillon
mutationUpdateFleet{
fleetControlUpdateFleet(
id:"<YOUR_FLEET_ID>"
fleetUpdate:{
description:"Updated: Production web servers with enhanced monitoring"
tags:[
{key:"environment",values:["production"]}
{key:"region",values:["us-east-1","us-west-2"]}
]
}
){
entity{
id
name
description
}
}
}
Utilisez la mutation fleetControlDeleteFleet pour supprimer une flotte. Cela supprime la flotte mais ne désinstalle pas les agents des entités gérées.
Paramètres d'entrée
paramètres
Type de données
Est-ce requis ?
Description
id
Identifiant
Oui
L'ID de l'entité de la flotte à supprimer.
Demande d'échantillon
mutationDeleteFleet{
fleetControlDeleteFleet(id:"<YOUR_FLEET_ID>"){
id
}
}
Mutations de gestion des membres du parc
Utilisez la mutation fleetControlAddFleetMembers pour ajouter des entités gérées aux anneaux de flotte. Les anneaux vous permettent d'organiser les entités au sein d'une flotte pour des déploiements progressifs (par exemple, canary, préproduction, production).
Paramètres d'entrée
paramètres
Type de données
Est-ce requis ?
Description
fleetId
Identifiant
Oui
L'ID de l'entité de la flotte.
members
Array
Oui
Liste des entrées d'anneau spécifiant quelles entités ajouter à quels anneaux.
members[].ring
Chaîne
Oui
Le nom de l'anneau (par exemple, "canary", "production").
Utilisez la mutation fleetControlCreateFleetDeployment pour créer un déploiement qui définit les versions d'agent et les configurations à déployer sur un parc.
Paramètres d'entrée
paramètres
Type de données
Est-ce requis ?
Description
fleetDeployment
Objet
Oui
La configuration de déploiement.
fleetDeployment.fleetId
Identifiant
Oui
L'ID de l'entité de la flotte.
fleetDeployment.scope
Objet
Oui
Le périmètre de l'entité (identique au périmètre de la flotte).
fleetDeployment.agents
Array
Oui
Liste des configurations d'agent à déployer.
fleetDeployment.agents[].agentType
Chaîne
Oui
Type d'agent. Options :
NRInfra
,
NRDOT
,
FluentBit
,
NRPrometheusAgent
,
PipelineControlGateway
,
NRApmOperator
,
NReBPFAgent
.
fleetDeployment.agents[].version
Chaîne
Oui
Version de l'agent à déployer.
fleetDeployment.agents[].configurationVersionList
Array
Oui
Liste des ID de version de configuration pour cet agent.
fleetDeployment.name
Chaîne
Non
Nom du déploiement.
fleetDeployment.description
Chaîne
Non
Description du déploiement.
Demande d'échantillon
mutationCreateDeployment{
fleetControlCreateFleetDeployment(
fleetDeployment:{
fleetId:"<YOUR_FLEET_ID>"
name:"Infrastructure Agent v1.50.0"
description:"Deploy infra agent 1.50.0 with updated config"