Ir al contenido

Referencia de la CLI

La CLI kubetail es el punto de entrada principal de Kubetail en su escritorio. Puede usarla para iniciar el dashboard web, transmitir logs a su terminal o gestionar recursos de Kubetail en su cluster.

Estas flags estan disponibles en todos los comandos:

FlagDefaultDescription
--kubeconfigRuta al archivo kubeconfig
--in-clusterfalseUsar la configuracion de Kubernetes dentro del cluster
-c, --config~/.kubetail/config.yamlRuta al archivo de configuracion

Inicie el servidor del dashboard y abra la interfaz web en su navegador predeterminado.

Ventana de terminal
kubetail serve [flags]

Flags

FlagDefaultDescription
-p, --port7500Numero de puerto en el que escuchar
--hostlocalhostDireccion del host a la que enlazarse
-l, --log-levelinfoNivel de log (debug, info, warn, error, disabled)
--skip-openfalseNo abrir el navegador

Ejemplos

Ventana de terminal
# Iniciar el dashboard (se abre en http://localhost:7500)
kubetail serve
# Usar un puerto personalizado
kubetail serve --port 8080
# Iniciar sin abrir el navegador
kubetail serve --skip-open

Obtener logs de un contenedor o de un conjunto de contenedores de workloads.

Ventana de terminal
kubetail logs [source1] [source2] ... [flags]

Fuentes

Una fuente identifica desde que pods o contenedores se deben transmitir logs. Las fuentes usan la siguiente sintaxis:

[namespace:]<resource>[/name[/container]]
ExampleDescription
web-abc123Pod llamado web-abc123 en el namespace predeterminado
deployments/webDeployment web en el namespace predeterminado
deployments/*Todos los deployments en el namespace predeterminado
deployments/web/container1Un contenedor especifico en un deployment
deployments/web/*Todos los contenedores de un deployment
frontend:web-abc123Pod en el namespace frontend
frontend:deployments/webDeployment en el namespace frontend

Se pueden especificar varias fuentes:

Ventana de terminal
kubetail logs <source1> <source2>

Flags

FlagDefaultDescription
--kube-contextContexto de kubeconfig que se utilizara
-h, --head[=N]10Devolver los primeros N registros
-t, --tail[=N]10Devolver los ultimos N registros
--allfalseDevolver todos los registros
-f, --followfalseTransmitir registros nuevos
--sinceIncluir registros desde el punto especificado (incluido)
--untilIncluir registros hasta el punto especificado (incluido)
--afterIncluir registros estrictamente posteriores al punto especificado
--beforeIncluir registros estrictamente anteriores al punto especificado
-g, --grepFiltrar registros mediante una expresion regular (requiere --force)
--regionFiltrar pods fuente por region (separado por comas)
--zoneFiltrar pods fuente por zona (separado por comas)
--osFiltrar pods fuente por sistema operativo (separado por comas)
--archFiltrar pods fuente por arquitectura de CPU (separado por comas)
--nodeFiltrar pods fuente por nombre de nodo (separado por comas)
--rawfalseMostrar solo mensajes de log sin metadatos
--columnsEstablecer columnas de salida (sobrescribe los valores predeterminados)
--add-columnsAgregar columnas de salida a las predeterminadas
--remove-columnsQuitar columnas de salida de las predeterminadas
--with-cursorsfalseMostrar cursores de paginacion
--hide-headerfalseOcultar cabecera de la tabla
--all-containersfalseMostrar logs de todos los contenedores de un pod
--forcefalseForzar el comando (requerido al usar --grep)

Las flags --columns, --add-columns y --remove-columns aceptan una lista de nombres de columnas separada por comas: timestamp, dot, node, region, zone, os, arch, namespace, pod, container.

Las flags --head, --tail y --all son mutuamente excluyentes. Las flags --since y --after tambien lo son, al igual que --until y --before.

Las flags --since, --until, --after y --before aceptan:

  • Una marca de tiempo ISO 8601 (por ejemplo, 2006-01-02T15:04:05Z07:00)
  • Una duracion ISO 8601 relativa al momento actual (por ejemplo, PT30M para hace 30 minutos) - solo para --since y --until

Comportamiento predeterminado: modo tail (ultimos 10 registros), a menos que se especifique --since, en cuyo caso se usa el modo head.

Ejemplos

Ventana de terminal
# Ver los ultimos 10 registros de un pod
kubetail logs nginx
# Hacer tail de un deployment
kubetail logs deployments/web
# Seguir registros nuevos
kubetail logs deployments/web --follow
# Devolver todos los registros y seguir
kubetail logs deployments/web --all --follow
# Devolver los primeros 100 registros
kubetail logs nginx --head=100
# Devolver registros de los ultimos 30 minutos
kubetail logs nginx --since PT30M --all
# Devolver registros entre dos marcas de tiempo
kubetail logs nginx --since 2006-01-02T15:04:05Z --until 2007-01-02T15:04:05Z --all
# Filtrar por expresion regular (requiere --force)
kubetail logs nginx --grep "GET /about" --force
# Filtrar pods por region
kubetail logs deployments/web --region=us-east-1
# Mostrar solo mensajes de log sin formato
kubetail logs nginx --raw

Gestione recursos de Kubetail en el cluster usando Helm internamente (no es necesario instalar Helm por separado).

Ventana de terminal
kubetail cluster <subcommand> [flags]

Crear un nuevo release de Kubetail en el cluster.

Ventana de terminal
kubetail cluster install [flags]

Flags

FlagDefaultDescription
--kube-contextNombre del contexto de kubeconfig que se utilizara

Ejemplos

Ventana de terminal
kubetail cluster install

Actualizar un release existente de Kubetail a la version mas reciente del chart disponible localmente.

Ventana de terminal
kubetail cluster upgrade [flags]

Flags

FlagDefaultDescription
--kube-contextNombre del contexto de kubeconfig que se utilizara

Ejemplos

Ventana de terminal
kubetail cluster upgrade

Eliminar un release existente de Kubetail del cluster.

Ventana de terminal
kubetail cluster uninstall [flags]

Flags

FlagDefaultDescription
--kube-contextNombre del contexto de kubeconfig que se utilizara

Ejemplos

Ventana de terminal
kubetail cluster uninstall

Listar los releases de Kubetail instalados actualmente.

Ventana de terminal
kubetail cluster list [flags]

Flags

FlagDefaultDescription
--kube-contextNombre del contexto de kubeconfig que se utilizara

Ejemplos

Ventana de terminal
kubetail cluster list

Gestionar el repositorio del chart de Helm de Kubetail (https://kubetail-org.github.io/helm-charts/).

Ventana de terminal
kubetail cluster repo <subcommand>
SubcommandDescription
addAgregar el repositorio del chart de Kubetail a Helm
updateActualizar el repositorio del chart de Kubetail en Helm
removeEliminar el repositorio del chart de Kubetail de Helm

Ejemplos

Ventana de terminal
kubetail cluster repo add
kubetail cluster repo update
kubetail cluster repo remove

Gestionar la configuracion de la CLI de Kubetail.

Ventana de terminal
kubetail config <subcommand>

Crear un archivo de configuracion predeterminado.

Ventana de terminal
kubetail config init [flags]

Flags

FlagDefaultDescription
--path~/.kubetail/config.yamlRuta de destino del archivo de configuracion
--formatyamlFormato del archivo de configuracion (yaml, json, toml)
--forcefalseSobrescribir un archivo de configuracion existente

Ejemplos

Ventana de terminal
# Crear la configuracion predeterminada en ~/.kubetail/config.yaml
kubetail config init
# Crear la configuracion en formato JSON
kubetail config init --format json
# Sobrescribir un archivo de configuracion existente
kubetail config init --force
# Escribir la configuracion en una ruta personalizada
kubetail config init --path /etc/kubetail/config.yaml

La CLI puede configurarse usando un archivo de configuracion YAML (o JSON/TOML). Por defecto se lee desde ~/.kubetail/config.yaml. Use kubetail config init para generar un archivo de configuracion predeterminado o pase una ruta personalizada con la flag 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