Zum Inhalt springen

CLI-Referenz

Die kubetail-CLI ist der wichtigste Einstiegspunkt fuer Kubetail auf Ihrem Desktop. Sie koennen sie verwenden, um das Web-Dashboard zu starten, Logs in Ihr Terminal zu streamen oder Kubetail-Ressourcen in Ihrem Cluster zu verwalten.

Diese Flags stehen bei allen Befehlen zur Verfuegung:

FlagDefaultDescription
--kubeconfigPfad zur kubeconfig-Datei
--in-clusterfalseIn-Cluster-Kubernetes-Konfiguration verwenden
-c, --config~/.kubetail/config.yamlPfad zur Konfigurationsdatei

Starten Sie den Dashboard-Server und oeffnen Sie die Web-UI in Ihrem Standardbrowser.

Terminal-Fenster
kubetail serve [flags]

Flags

FlagDefaultDescription
-p, --port7500Portnummer, auf der gelauscht wird
--hostlocalhostHost-Adresse, an die gebunden wird
-l, --log-levelinfoLog-Level (debug, info, warn, error, disabled)
--skip-openfalseBrowser nicht automatisch oeffnen

Beispiele

Terminal-Fenster
# Dashboard starten (oeffnet unter http://localhost:7500)
kubetail serve
# Einen benutzerdefinierten Port verwenden
kubetail serve --port 8080
# Starten, ohne den Browser zu oeffnen
kubetail serve --skip-open

Logs fuer einen Container oder eine Menge von Workload-Containern abrufen.

Terminal-Fenster
kubetail logs [source1] [source2] ... [flags]

Quellen

Eine Quelle gibt an, von welchen Pods/Containern Logs gestreamt werden sollen. Quellen verwenden die folgende Syntax:

[namespace:]<resource>[/name[/container]]
ExampleDescription
web-abc123Pod namens web-abc123 im Default-Namespace
deployments/webDeployment web im Default-Namespace
deployments/*Alle Deployments im Default-Namespace
deployments/web/container1Bestimmter Container in einem Deployment
deployments/web/*Alle Container in einem Deployment
frontend:web-abc123Pod im Namespace frontend
frontend:deployments/webDeployment im Namespace frontend

Es koennen mehrere Quellen angegeben werden:

Terminal-Fenster
kubetail logs <source1> <source2>

Flags

FlagDefaultDescription
--kube-contextZu verwendender kubeconfig-Kontext
-h, --head[=N]10Die ersten N Eintraege zurueckgeben
-t, --tail[=N]10Die letzten N Eintraege zurueckgeben
--allfalseAlle Eintraege zurueckgeben
-f, --followfalseNeue Eintraege streamen
--sinceEintraege ab dem angegebenen Zeitpunkt einschliessen (inklusiv)
--untilEintraege bis zum angegebenen Zeitpunkt einschliessen (inklusiv)
--afterEintraege streng nach dem angegebenen Zeitpunkt einschliessen
--beforeEintraege streng vor dem angegebenen Zeitpunkt einschliessen
-g, --grepEintraege mit einem regulaeren Ausdruck filtern (erfordert --force)
--regionQuell-Pods nach Region filtern (kommagetrennt)
--zoneQuell-Pods nach Zone filtern (kommagetrennt)
--osQuell-Pods nach Betriebssystem filtern (kommagetrennt)
--archQuell-Pods nach CPU-Architektur filtern (kommagetrennt)
--nodeQuell-Pods nach Knotennamen filtern (kommagetrennt)
--rawfalseNur rohe Log-Nachrichten ohne Metadaten ausgeben
--columnsAusgabespalten setzen (ueberschreibt Standardwerte)
--add-columnsAusgabespalten zu den Standardwerten hinzufuegen
--remove-columnsAusgabespalten aus den Standardwerten entfernen
--with-cursorsfalsePaging-Cursor anzeigen
--hide-headerfalseTabellenkopf ausblenden
--all-containersfalseLogs aller Container in einem Pod anzeigen
--forcefalseBefehl erzwingen (erforderlich bei --grep)

Die Flags --columns, --add-columns und --remove-columns akzeptieren eine kommagetrennte Liste von Spaltennamen: timestamp, dot, node, region, zone, os, arch, namespace, pod, container.

Die Flags --head, --tail und --all schliessen sich gegenseitig aus. Die Flags --since und --after schliessen sich ebenfalls gegenseitig aus, ebenso --until und --before.

Die Flags --since, --until, --after und --before akzeptieren:

  • Einen ISO-8601-Zeitstempel (z. B. 2006-01-02T15:04:05Z07:00)
  • Eine ISO-8601-Dauer relativ zu jetzt (z. B. PT30M fuer vor 30 Minuten) - nur fuer --since und --until

Standardverhalten: Tail-Modus (letzte 10 Eintraege), ausser wenn --since angegeben ist; dann wird der Head-Modus verwendet.

Beispiele

Terminal-Fenster
# Die letzten 10 Eintraege eines Pods anzeigen
kubetail logs nginx
# Ein Deployment tailen
kubetail logs deployments/web
# Neue Eintraege verfolgen
kubetail logs deployments/web --follow
# Alle Eintraege zurueckgeben und weiter folgen
kubetail logs deployments/web --all --follow
# Erste 100 Eintraege zurueckgeben
kubetail logs nginx --head=100
# Eintraege der letzten 30 Minuten zurueckgeben
kubetail logs nginx --since PT30M --all
# Eintraege zwischen zwei Zeitstempeln zurueckgeben
kubetail logs nginx --since 2006-01-02T15:04:05Z --until 2007-01-02T15:04:05Z --all
# Nach regulaerem Ausdruck filtern (erfordert --force)
kubetail logs nginx --grep "GET /about" --force
# Pods nach Region filtern
kubetail logs deployments/web --region=us-east-1
# Nur rohe Log-Nachrichten ausgeben
kubetail logs nginx --raw

Kubetail-Cluster-Ressourcen mit Helm im Hintergrund verwalten (Helm muss nicht separat installiert werden).

Terminal-Fenster
kubetail cluster <subcommand> [flags]

Ein neues Kubetail-Release im Cluster erstellen.

Terminal-Fenster
kubetail cluster install [flags]

Flags

FlagDefaultDescription
--kube-contextName des zu verwendenden kubeconfig-Kontexts

Beispiele

Terminal-Fenster
kubetail cluster install

Ein vorhandenes Kubetail-Release auf die lokal verfuegbare neueste Chart-Version aktualisieren.

Terminal-Fenster
kubetail cluster upgrade [flags]

Flags

FlagDefaultDescription
--kube-contextName des zu verwendenden kubeconfig-Kontexts

Beispiele

Terminal-Fenster
kubetail cluster upgrade

Ein vorhandenes Kubetail-Release aus dem Cluster entfernen.

Terminal-Fenster
kubetail cluster uninstall [flags]

Flags

FlagDefaultDescription
--kube-contextName des zu verwendenden kubeconfig-Kontexts

Beispiele

Terminal-Fenster
kubetail cluster uninstall

Derzeit installierte Kubetail-Releases auflisten.

Terminal-Fenster
kubetail cluster list [flags]

Flags

FlagDefaultDescription
--kube-contextName des zu verwendenden kubeconfig-Kontexts

Beispiele

Terminal-Fenster
kubetail cluster list

Das Helm-Chart-Repository von Kubetail verwalten (https://kubetail-org.github.io/helm-charts/).

Terminal-Fenster
kubetail cluster repo <subcommand>
SubcommandDescription
addDas Kubetail-Chart-Repository zu Helm hinzufuegen
updateDas Kubetail-Chart-Repository in Helm aktualisieren
removeDas Kubetail-Chart-Repository aus Helm entfernen

Beispiele

Terminal-Fenster
kubetail cluster repo add
kubetail cluster repo update
kubetail cluster repo remove

Die Konfiguration der Kubetail-CLI verwalten.

Terminal-Fenster
kubetail config <subcommand>

Eine Standard-Konfigurationsdatei erstellen.

Terminal-Fenster
kubetail config init [flags]

Flags

FlagDefaultDescription
--path~/.kubetail/config.yamlZielpfad fuer die Konfigurationsdatei
--formatyamlFormat der Konfigurationsdatei (yaml, json, toml)
--forcefalseEine vorhandene Konfigurationsdatei ueberschreiben

Beispiele

Terminal-Fenster
# Standardkonfiguration unter ~/.kubetail/config.yaml erstellen
kubetail config init
# Konfiguration im JSON-Format erstellen
kubetail config init --format json
# Vorhandene Konfigurationsdatei ueberschreiben
kubetail config init --force
# Konfiguration in einen benutzerdefinierten Pfad schreiben
kubetail config init --path /etc/kubetail/config.yaml

Die CLI kann ueber eine YAML- (oder JSON-/TOML-) Konfigurationsdatei konfiguriert werden. Standardmaessig wird sie aus ~/.kubetail/config.yaml gelesen. Verwenden Sie kubetail config init, um eine Standard-Konfigurationsdatei zu erzeugen, oder uebergeben Sie einen benutzerdefinierten Pfad mit dem globalen Flag -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