Aller au contenu

Reference Cluster Agent

Le Kubetail Cluster Agent est un serveur gRPC base sur Rust qui s’execute comme un DaemonSet sur chaque noeud de votre cluster Kubernetes. Il lit directement les fichiers de logs des conteneurs depuis le systeme de fichiers du noeud et les diffuse vers la Cluster API a la demande. L’executable du serveur est compile a partir du code source situe dans le depot Kubetail sous crates/cluster_agent et est generalement deploye via l’image Docker kubetail-cluster-agent (voir ci-dessous). Il est possible d’executer kubetail-cluster-agent comme conteneur autonome, mais nous recommandons de le deployer avec le chart Helm officiel de Kubetail.

L’image Docker kubetail-cluster-agent est publiee sur Docker Hub et GitHub Container Registry a chaque release:

RegistryImage
Docker Hubkubetail/kubetail-cluster-agent
GHCRghcr.io/kubetail-org/kubetail-cluster-agent

Deux variantes sont disponibles:

Suffixe de tagImage de baseDescription
(aucun)scratchImage minimale, empreinte la plus reduite
-alpinealpineInclut un shell et les utilitaires standard

L’entrypoint par defaut du conteneur est /cluster-agent/cluster-agent:

Fenêtre de terminal
cluster-agent --config <FILE> [flags]
FlagShortDefaultDescription
--config-cChemin vers le fichier de configuration (obligatoire)
--addr-aAdresse d’ecoute des connexions (remplace la configuration)

Le Cluster Agent se configure exclusivement via un fichier de configuration. Le chemin doit etre passe avec -c / --config a chaque execution. Les variables d’environnement peuvent etre referencees dans le fichier de configuration en utilisant la syntaxe shell standard.

Fenêtre de terminal
cluster-agent --config /etc/kubetail/cluster-agent.yaml
## Kubetail Cluster Agent Configuration File
#
# Ce fichier definit le comportement du kubetail cluster agent,
# qui s'execute dans des clusters Kubernetes pour diffuser et traiter les logs des conteneurs.
#
## addr ##
#
# Adresse reseau et port auxquels le serveur gRPC doit se lier.
#
# Valeur par defaut: :50051
#
addr: :50051
## container-logs-dir ##
#
# Chemin du repertoire ou Kubernetes stocke les fichiers de logs des conteneurs.
# Il s'agit generalement d'un montage depuis le systeme de fichiers du noeud hote.
#
# Valeur par defaut: /var/log/containers
#
container-logs-dir: /var/log/containers
## logging ##
#
# Configuration de la sortie de logs de l'agent
#
logging:
## enabled ##
#
# Indique si le logging est active pour l'agent.
#
# Valeur par defaut: true
#
enabled: true
## level ##
#
# Niveau minimal de log a produire.
# Valeurs valides: debug, info, warn, error
#
# Valeur par defaut: info
#
level: info
## format ##
#
# Format de la sortie de logs.
# Valeurs valides: json, pretty
#
# Valeur par defaut: json
#
format: json
## tls ##
#
# Configuration TLS pour des connexions gRPC securisees
#
tls:
## enabled ##
#
# Indique si TLS est active pour les connexions gRPC.
#
# Valeur par defaut: false
#
enabled: false
## cert-file ##
#
# Chemin vers le fichier de certificat TLS.
#
# Valeur par defaut: ""
#
cert-file: ""
## key-file ##
#
# Chemin vers le fichier de cle privee TLS.
#
# Valeur par defaut: ""
#
key-file: ""
## ca-file ##
#
# Chemin vers le fichier de certificat CA utilise pour verifier les certificats clients.
# Requis lorsque client-auth est defini sur require-and-verify.
#
# Valeur par defaut: ""
#
ca-file: ""
## client-auth ##
#
# Politique d'authentification du client pour les connexions gRPC entrantes.
# Valeurs valides: none, require-and-verify
#
# Valeur par defaut: none
#
client-auth: none