Aller au contenu

Reference CLI

La CLI kubetail est le point d’entree principal de Kubetail sur votre poste. Vous pouvez l’utiliser pour demarrer le dashboard web, diffuser des logs dans votre terminal ou gerer les ressources Kubetail dans votre cluster.

Ces indicateurs sont disponibles pour toutes les commandes:

FlagDefaultDescription
--kubeconfigChemin vers le fichier kubeconfig
--in-clusterfalseUtiliser la configuration Kubernetes in-cluster
-c, --config~/.kubetail/config.yamlChemin vers le fichier de configuration

Demarrez le serveur du dashboard et ouvrez l’interface web dans votre navigateur par defaut.

Fenêtre de terminal
kubetail serve [flags]

Indicateurs

FlagDefaultDescription
-p, --port7500Numero de port a ecouter
--hostlocalhostAdresse hote a laquelle se lier
-l, --log-levelinfoNiveau de log (debug, info, warn, error, disabled)
--skip-openfalseNe pas ouvrir le navigateur

Exemples

Fenêtre de terminal
# Demarrer le dashboard (s'ouvre sur http://localhost:7500)
kubetail serve
# Utiliser un port personnalise
kubetail serve --port 8080
# Demarrer sans ouvrir le navigateur
kubetail serve --skip-open

Recuperer les logs d’un conteneur ou d’un ensemble de conteneurs de workload.

Fenêtre de terminal
kubetail logs [source1] [source2] ... [flags]

Sources

Une source identifie les pods/conteneurs depuis lesquels diffuser les logs. Les sources utilisent la syntaxe suivante:

[namespace:]<resource>[/name[/container]]
ExampleDescription
web-abc123Pod nomme web-abc123 dans le namespace par defaut
deployments/webDeployment web dans le namespace par defaut
deployments/*Tous les deployments dans le namespace par defaut
deployments/web/container1Conteneur specifique dans un deployment
deployments/web/*Tous les conteneurs d’un deployment
frontend:web-abc123Pod dans le namespace frontend
frontend:deployments/webDeployment dans le namespace frontend

Plusieurs sources peuvent etre specifiees:

Fenêtre de terminal
kubetail logs <source1> <source2>

Indicateurs

FlagDefaultDescription
--kube-contextContexte kubeconfig a utiliser
-h, --head[=N]10Retourner les N premiers enregistrements
-t, --tail[=N]10Retourner les N derniers enregistrements
--allfalseRetourner tous les enregistrements
-f, --followfalseDiffuser les nouveaux enregistrements
--sinceInclure les enregistrements a partir du point specifie (inclus)
--untilInclure les enregistrements jusqu’au point specifie (inclus)
--afterInclure les enregistrements strictement apres le point specifie
--beforeInclure les enregistrements strictement avant le point specifie
-g, --grepFiltrer les enregistrements avec une expression reguliere (necessite --force)
--regionFiltrer les pods source par region (separes par des virgules)
--zoneFiltrer les pods source par zone (separes par des virgules)
--osFiltrer les pods source par systeme d’exploitation (separes par des virgules)
--archFiltrer les pods source par architecture CPU (separes par des virgules)
--nodeFiltrer les pods source par nom de noeud (separes par des virgules)
--rawfalseSortir uniquement les messages de log bruts sans metadonnees
--columnsDefinir les colonnes de sortie (remplace les valeurs par defaut)
--add-columnsAjouter des colonnes de sortie aux valeurs par defaut
--remove-columnsRetirer des colonnes de sortie des valeurs par defaut
--with-cursorsfalseAfficher les curseurs de pagination
--hide-headerfalseMasquer l’en-tete du tableau
--all-containersfalseAfficher les logs de tous les conteneurs d’un pod
--forcefalseForcer la commande (requis lors de l’utilisation de --grep)

Les indicateurs --columns, --add-columns et --remove-columns acceptent une liste de noms de colonnes separes par des virgules: timestamp, dot, node, region, zone, os, arch, namespace, pod, container.

Les indicateurs --head, --tail et --all sont mutuellement exclusifs. Les indicateurs --since et --after sont egalement mutuellement exclusifs, de meme que --until et --before.

Les indicateurs --since, --until, --after et --before acceptent:

  • Un horodatage ISO 8601 (par ex. 2006-01-02T15:04:05Z07:00)
  • Une duree ISO 8601 relative a maintenant (par ex. PT30M pour il y a 30 minutes) - uniquement pour --since et --until

Comportement par defaut: mode tail (10 derniers enregistrements), sauf si --since est specifie, auquel cas le mode head est utilise.

Exemples

Fenêtre de terminal
# Afficher les 10 derniers enregistrements d'un pod
kubetail logs nginx
# Faire le tail d'un deployment
kubetail logs deployments/web
# Suivre les nouveaux enregistrements
kubetail logs deployments/web --follow
# Retourner tous les enregistrements et continuer a suivre
kubetail logs deployments/web --all --follow
# Retourner les 100 premiers enregistrements
kubetail logs nginx --head=100
# Retourner les enregistrements des 30 dernieres minutes
kubetail logs nginx --since PT30M --all
# Retourner les enregistrements entre deux horodatages
kubetail logs nginx --since 2006-01-02T15:04:05Z --until 2007-01-02T15:04:05Z --all
# Filtrer par expression reguliere (necessite --force)
kubetail logs nginx --grep "GET /about" --force
# Filtrer les pods par region
kubetail logs deployments/web --region=us-east-1
# Sortir uniquement les messages de log bruts
kubetail logs nginx --raw

Gerer les ressources Kubetail du cluster en utilisant Helm en interne (Helm n’a pas besoin d’etre installe separement).

Fenêtre de terminal
kubetail cluster <subcommand> [flags]

Creer une nouvelle release Kubetail dans le cluster.

Fenêtre de terminal
kubetail cluster install [flags]

Indicateurs

FlagDefaultDescription
--kube-contextNom du contexte kubeconfig a utiliser

Exemples

Fenêtre de terminal
kubetail cluster install

Mettre a niveau une release Kubetail existante vers la derniere version du chart disponible localement.

Fenêtre de terminal
kubetail cluster upgrade [flags]

Indicateurs

FlagDefaultDescription
--kube-contextNom du contexte kubeconfig a utiliser

Exemples

Fenêtre de terminal
kubetail cluster upgrade

Supprimer une release Kubetail existante du cluster.

Fenêtre de terminal
kubetail cluster uninstall [flags]

Indicateurs

FlagDefaultDescription
--kube-contextNom du contexte kubeconfig a utiliser

Exemples

Fenêtre de terminal
kubetail cluster uninstall

Lister les releases Kubetail actuellement installees.

Fenêtre de terminal
kubetail cluster list [flags]

Indicateurs

FlagDefaultDescription
--kube-contextNom du contexte kubeconfig a utiliser

Exemples

Fenêtre de terminal
kubetail cluster list

Gerer le depot Helm des charts Kubetail (https://kubetail-org.github.io/helm-charts/).

Fenêtre de terminal
kubetail cluster repo <subcommand>
SubcommandDescription
addAjouter le depot de charts Kubetail a Helm
updateMettre a jour le depot de charts Kubetail dans Helm
removeSupprimer le depot de charts Kubetail de Helm

Exemples

Fenêtre de terminal
kubetail cluster repo add
kubetail cluster repo update
kubetail cluster repo remove

Gerer la configuration de la CLI Kubetail.

Fenêtre de terminal
kubetail config <subcommand>

Creer un fichier de configuration par defaut.

Fenêtre de terminal
kubetail config init [flags]

Indicateurs

FlagDefaultDescription
--path~/.kubetail/config.yamlChemin cible du fichier de configuration
--formatyamlFormat du fichier de configuration (yaml, json, toml)
--forcefalseEcraser un fichier de configuration existant

Exemples

Fenêtre de terminal
# Creer la configuration par defaut dans ~/.kubetail/config.yaml
kubetail config init
# Creer la configuration au format JSON
kubetail config init --format json
# Ecraser un fichier de configuration existant
kubetail config init --force
# Ecrire la configuration dans un chemin personnalise
kubetail config init --path /etc/kubetail/config.yaml

La CLI peut etre configuree a l’aide d’un fichier de configuration YAML (ou JSON/TOML). Par defaut, il est lu depuis ~/.kubetail/config.yaml. Utilisez kubetail config init pour generer un fichier de configuration par defaut, ou passez un chemin personnalise avec l’indicateur global -c / --config.

## Kubetail CLI Configuration File
#
# This file defines the behavior for the kubetail CLI tool,
# including logs command defaults and dashboard server settings.
#
## version ##
#
# Schema version for the configuration file
#
version: 1
## general ##
#
general:
## kubeconfig ##
#
# Path to the kubeconfig file to use for CLI requests.
# If empty, the default path (~/.kube/config) or KUBECONFIG env var is used.
#
# Default value: ""
#
kubeconfig: ""
## commands ##
#
commands:
## logs ##
#
# Settings specific to the 'logs' subcommand
#
logs:
## kube-context ##
#
# The specific Kubernetes context to use.
# If empty, the current active context is used.
#
# Default value: ""
#
kube-context: ""
## head ##
#
# The number of lines to show from the beginning of the log buffer
#
# Default value: 10
#
head: 10
## tail ##
#
# The number of lines to show from the end of the log buffer
#
# Default value: 10
#
tail: 10
## columns ##
#
# Full set of output columns for 'logs' records.
# Allowed values: timestamp,dot,node,region,zone,os,arch,namespace,pod, container
#
# Default value: ["timestamp", "dot"]
#
columns:
- timestamp
- dot
## serve ##
#
# Settings for the dashboard server
#
serve:
## host ##
#
# The network interface the server should bind to.
#
# Default value: localhost
#
host: localhost
## port ##
#
# The TCP port the server will listen on.
#
# Default value: 7500
#
port: 7500
## skip-open ##
#
# If true, the CLI will not automatically open the browser
# when the server starts.
#
# Default value: false
#
skip-open: false
## dashboard ##
#
# Settings for the web dashboard UI
#
dashboard:
## columns ##
#
# The default columns to show when displaying log records.
#
# Default value: ["timestamp", "dot"]
#
columns:
- timestamp
- dot