Pular para o conteúdo

Referencia da CLI

A CLI kubetail e o principal ponto de entrada do Kubetail no seu desktop. Voce pode usa-la para iniciar o dashboard web, transmitir logs para o terminal ou gerenciar recursos do Kubetail no cluster.

Estas flags estao disponiveis em todos os comandos:

FlagDefaultDescription
--kubeconfigCaminho para o arquivo kubeconfig
--in-clusterfalseUsar configuracao Kubernetes in-cluster
-c, --config~/.kubetail/config.yamlCaminho para o arquivo de configuracao

Inicie o dashboard server e abra a Web UI no navegador padrao.

Terminal window
kubetail serve [flags]

Flags

FlagDefaultDescription
-p, --port7500Numero da porta a escutar
--hostlocalhostEndereco do host ao qual se vincular
-l, --log-levelinfoNivel de log (debug, info, warn, error, disabled)
--skip-openfalseNao abrir o navegador

Exemplos

Terminal window
# Iniciar o dashboard (abre em http://localhost:7500)
kubetail serve
# Usar uma porta personalizada
kubetail serve --port 8080
# Iniciar sem abrir o navegador
kubetail serve --skip-open

Buscar logs de um contêiner ou de um conjunto de workload containers.

Terminal window
kubetail logs [source1] [source2] ... [flags]

Fontes

Uma fonte identifica de quais Pods ou contêineres os logs devem ser transmitidos. As fontes usam a seguinte sintaxe:

[namespace:]<resource>[/name[/container]]
ExampleDescription
web-abc123Pod chamado web-abc123 no namespace padrao
deployments/webDeployment web no namespace padrao
deployments/*Todos os Deployments no namespace padrao
deployments/web/container1Contêiner especifico em um Deployment
deployments/web/*Todos os contêineres em um Deployment
frontend:web-abc123Pod no namespace frontend
frontend:deployments/webDeployment no namespace frontend

Varias fontes podem ser especificadas:

Terminal window
kubetail logs <source1> <source2>

Flags

FlagDefaultDescription
--kube-contextContexto kubeconfig a usar
-h, --head[=N]10Retornar os primeiros N registros
-t, --tail[=N]10Retornar os ultimos N registros
--allfalseRetornar todos os registros
-f, --followfalseTransmitir novos registros
--sinceIncluir registros a partir do ponto especificado (inclusivo)
--untilIncluir registros ate o ponto especificado (inclusivo)
--afterIncluir registros estritamente apos o ponto especificado
--beforeIncluir registros estritamente antes do ponto especificado
-g, --grepFiltrar registros por expressao regular (requer --force)
--regionFiltrar Pods de origem por region (separado por virgulas)
--zoneFiltrar Pods de origem por zona (separado por virgulas)
--osFiltrar Pods de origem por sistema operacional (separado por virgulas)
--archFiltrar Pods de origem por arquitetura de CPU (separado por virgulas)
--nodeFiltrar Pods de origem por nome do no (separado por virgulas)
--rawfalseExibir apenas mensagens de log brutas, sem metadados
--columnsDefinir colunas de saida (sobrescreve os padroes)
--add-columnsAdicionar colunas de saida aos padroes
--remove-columnsRemover colunas de saida dos padroes
--with-cursorsfalseMostrar cursores de paginacao
--hide-headerfalseOcultar o cabecalho da tabela
--all-containersfalseMostrar logs de todos os contêineres em um Pod
--forcefalseForcar o comando (requerido ao usar --grep)

As flags --columns, --add-columns e --remove-columns aceitam uma lista de nomes de colunas separada por virgulas: timestamp, dot, node, region, zone, os, arch, namespace, pod, container.

As flags --head, --tail e --all sao mutuamente exclusivas. As flags --since e --after tambem sao mutuamente exclusivas, assim como --until e --before.

As flags --since, --until, --after e --before aceitam:

  • Um timestamp ISO 8601 (por exemplo, 2006-01-02T15:04:05Z07:00)
  • Uma duracao ISO 8601 relativa a agora (por exemplo, PT30M para 30 minutos atras) - apenas para --since e --until

Comportamento padrao: modo tail (ultimos 10 registros), a menos que --since seja especificado, caso em que o modo head e usado.

Exemplos

Terminal window
# Fazer tail dos ultimos 10 registros de um Pod
kubetail logs nginx
# Fazer tail de um Deployment
kubetail logs deployments/web
# Seguir novos registros
kubetail logs deployments/web --follow
# Retornar todos os registros e continuar seguindo
kubetail logs deployments/web --all --follow
# Retornar os primeiros 100 registros
kubetail logs nginx --head=100
# Retornar registros dos ultimos 30 minutos
kubetail logs nginx --since PT30M --all
# Retornar registros entre dois timestamps
kubetail logs nginx --since 2006-01-02T15:04:05Z --until 2007-01-02T15:04:05Z --all
# Filtrar por regex (requer --force)
kubetail logs nginx --grep "GET /about" --force
# Filtrar Pods por region
kubetail logs deployments/web --region=us-east-1
# Exibir apenas mensagens de log brutas
kubetail logs nginx --raw

Gerencie recursos do Kubetail no cluster usando Helm internamente (o Helm nao precisa ser instalado separadamente).

Terminal window
kubetail cluster <subcommand> [flags]

Criar um novo release do Kubetail no cluster.

Terminal window
kubetail cluster install [flags]

Flags

FlagDefaultDescription
--kube-contextNome do contexto kubeconfig a usar

Exemplos

Terminal window
kubetail cluster install

Atualizar um release existente do Kubetail para a versao mais recente do chart disponivel localmente.

Terminal window
kubetail cluster upgrade [flags]

Flags

FlagDefaultDescription
--kube-contextNome do contexto kubeconfig a usar

Exemplos

Terminal window
kubetail cluster upgrade

Remover um release existente do Kubetail do cluster.

Terminal window
kubetail cluster uninstall [flags]

Flags

FlagDefaultDescription
--kube-contextNome do contexto kubeconfig a usar

Exemplos

Terminal window
kubetail cluster uninstall

Listar os releases do Kubetail atualmente instalados.

Terminal window
kubetail cluster list [flags]

Flags

FlagDefaultDescription
--kube-contextNome do contexto kubeconfig a usar

Exemplos

Terminal window
kubetail cluster list

Gerenciar o repositorio de charts Helm do Kubetail (https://kubetail-org.github.io/helm-charts/).

Terminal window
kubetail cluster repo <subcommand>
SubcommandDescription
addAdicionar o repositorio de charts do Kubetail ao Helm
updateAtualizar o repositorio de charts do Kubetail no Helm
removeRemover o repositorio de charts do Kubetail do Helm

Exemplos

Terminal window
kubetail cluster repo add
kubetail cluster repo update
kubetail cluster repo remove

Gerenciar a configuracao da CLI do Kubetail.

Terminal window
kubetail config <subcommand>

Criar um arquivo de configuracao padrao.

Terminal window
kubetail config init [flags]

Flags

FlagDefaultDescription
--path~/.kubetail/config.yamlCaminho de destino do arquivo de configuracao
--formatyamlFormato do arquivo de configuracao (yaml, json, toml)
--forcefalseSobrescrever um arquivo de configuracao existente

Exemplos

Terminal window
# Criar a configuracao padrao em ~/.kubetail/config.yaml
kubetail config init
# Criar a configuracao em formato JSON
kubetail config init --format json
# Sobrescrever um arquivo de configuracao existente
kubetail config init --force
# Gravar a configuracao em um caminho personalizado
kubetail config init --path /etc/kubetail/config.yaml

A CLI pode ser configurada usando um arquivo de configuracao YAML (ou JSON/TOML). Por padrao, ele e lido de ~/.kubetail/config.yaml. Use kubetail config init para gerar um arquivo de configuracao padrao ou passe um caminho personalizado com a 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