Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Tutorial de NerdGraph: Administración de Fleet Control
característica Disponibilidad
Fleet Control for Kubernetes clusters está disponible de forma general (GA). El soporte para administrar agentes en Linux and Windows hosts se encuentra actualmente en versión preliminar pública.
Puedes usar NerdGraph para administrar de forma programática las flotas, los miembros y los despliegues de Fleet Control. Estas mutaciones proporcionan un control completo sobre las operaciones de la flota, permitiéndole automatizar la gestión de flotas, integrarse con pipelines de CI/CD y gestionar la instrumentación a escala.
Este tutorial proporciona ejemplos de las mutaciones y consultas disponibles de Fleet Control. Puede usarlos para crear flotas, administrar miembros de la flota y desplegar configuraciones de agentes.
También puedes usar el Fleet Control CLI para la gestión de flotas desde la línea de comandos. La CLI está construida sobre la misma API de NerdGraph.
Importante
Las configuraciones del agente se administran a través de la Blob Storage API, no de NerdGraph. Todas las operaciones de configuración utilizan una API REST independiente.
Mutaciones de gestión de flotas
Usa la mutación fleetControlCreateFleet para crear una nueva flota para administrar grupos de Kubernetes clusters o hosts.
parámetro de entrada
Parámetro
Tipo de datos
¿Es requerido?
Descripción
fleetEntity
Objeto
Sí
La entrada de creación de la entidad de flota que contiene la configuración de la flota.
fleetEntity.name
Cadena
Sí
El nombre de la flota. Debe ser único dentro de su organización.
fleetEntity.managedEntityType
Enumeración
Sí
El tipo de entidades que esta flota administrará. Opciones:
HOST
(para hosts de Linux/Windows) o
KUBERNETESCLUSTER
.
fleetEntity.scope
Objeto
Sí
El alcance de la entidad que define si la flota tiene alcance de cuenta o de organización.
fleetEntity.scope.type
Enumeración
Sí
Tipo de alcance. Opciones:
ACCOUNT
o
ORGANIZATION
.
fleetEntity.scope.id
IDENTIFICACIÓN
Sí
El ID de la cuenta o el ID de la organización, según el tipo de alcance.
fleetEntity.description
Cadena
No
Una descripción del propósito de la flota.
fleetEntity.operatingSystem
Objeto
No
Tipo de sistema operativo para flotas de HOST. Requerido si
managedEntityType
es
HOST
.
fleetEntity.operatingSystem.type
Enumeración
Sí (si se proporciona operatingSystem)
Tipo de SO. Opciones:
LINUX
o
WINDOWS
.
fleetEntity.tags
Matriz
No
Lista de objetos de etiqueta para categorizar la flota.
Solicitud de muestra
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
}
}
}
Ejemplo de respuesta
{
"data":{
"fleetControlCreateFleet":{
"entity":{
"id":"<YOUR_FLEET_ID>",
"name":"Production Web Servers",
"description":"Fleet for all production Linux web server hosts",
"managedEntityType":"HOST"
}
}
}
}
Utilice la mutación fleetControlUpdateFleet para actualizar el nombre, la descripción o las etiquetas de una flota existente.
parámetro de entrada
Parámetro
Tipo de datos
¿Es requerido?
Descripción
id
IDENTIFICACIÓN
Sí
El ID de la entidad de flota a actualizar.
fleetUpdate
Objeto
Sí
La entrada de actualización de la flota que contiene los campos a modificar.
fleetUpdate.name
Cadena
No
Nombre de la flota actualizado.
fleetUpdate.description
Cadena
No
Descripción de la flota actualizada.
fleetUpdate.tags
Matriz
No
Lista actualizada de etiquetas.
Solicitud de muestra
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
}
}
}
Usa la mutación fleetControlDeleteFleet para eliminar una flota. Esto elimina la flota pero no desinstala los agentes de las entidades administradas.
parámetro de entrada
Parámetro
Tipo de datos
¿Es requerido?
Descripción
id
IDENTIFICACIÓN
Sí
El ID de la entidad de la flota a eliminar.
Solicitud de muestra
mutationDeleteFleet{
fleetControlDeleteFleet(id:"<YOUR_FLEET_ID>"){
id
}
}
Mutaciones de gestión de miembros de la flota
Use la mutación fleetControlAddFleetMembers para agregar entidades administradas a los anillos de flota. Los anillos le permiten organizar entidades dentro de una flota para despliegues por etapas (por ejemplo, canary, staging, producción).
parámetro de entrada
Parámetro
Tipo de datos
¿Es requerido?
Descripción
fleetId
IDENTIFICACIÓN
Sí
El ID de la entidad de la flota.
members
Matriz
Sí
Lista de entradas de anillo que especifican qué entidades agregar a qué anillos.
members[].ring
Cadena
Sí
El nombre del anillo (por ejemplo, "canary", "producción").
members[].entityIds
Matriz
Sí
Lista de GUID de entidades para agregar al anillo.
Utilice la mutación fleetControlCreateFleetDeployment para crear un despliegue que defina qué versiones del agente y configuraciones desplegar en una flota.
parámetro de entrada
Parámetro
Tipo de datos
¿Es requerido?
Descripción
fleetDeployment
Objeto
Sí
La configuración de despliegue.
fleetDeployment.fleetId
IDENTIFICACIÓN
Sí
El ID de la entidad de la flota.
fleetDeployment.scope
Objeto
Sí
El ámbito de la entidad (igual que el ámbito de la flota).
fleetDeployment.agents
Matriz
Sí
Lista de configuraciones del agente a desplegar.
fleetDeployment.agents[].agentType
Cadena
Sí
Tipo de agente. Opciones:
NRInfra
,
NRDOT
,
FluentBit
,
NRPrometheusAgent
,
PipelineControlGateway
,
NRApmOperator
,
NReBPFAgent
.
fleetDeployment.agents[].version
Cadena
Sí
Versión del agente a desplegar.
fleetDeployment.agents[].configurationVersionList
Matriz
Sí
Lista de IDs de versión de configuración para este agente.
fleetDeployment.name
Cadena
No
Nombre del despliegue.
fleetDeployment.description
Cadena
No
Descripción del despliegue.
Solicitud de muestra
mutationCreateDeployment{
fleetControlCreateFleetDeployment(
fleetDeployment:{
fleetId:"<YOUR_FLEET_ID>"
name:"Infrastructure Agent v1.50.0"
description:"Deploy infra agent 1.50.0 with updated config"