Zum Inhalt springen

Cluster-API-Referenz

Die Kubetail Cluster API ist ein Go-basierter HTTP-Server, der die GraphQL-API bereitstellt, die das Dashboard fuer Cluster-Operationen verwendet. Das Server-Binary wird aus dem Quellcode im Kubetail-Repository unter modules/cluster-api kompiliert und in der Regel ueber das Docker-Image kubetail-cluster-api bereitgestellt (siehe unten). Es ist moeglich, kubetail-cluster-api als eigenstaendigen Container auszufuehren, wir empfehlen jedoch die Bereitstellung ueber das offizielle Kubetail-Helm-Chart.

Das Docker-Image kubetail-cluster-api wird bei jedem Release auf Docker Hub und in der GitHub Container Registry veroeffentlicht:

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

Es sind zwei Varianten verfuegbar:

Tag-SuffixBasis-ImageBeschreibung
(keines)scratchMinimales Image, kleinster Footprint
-alpinealpineEnthaelt eine Shell und Standardwerkzeuge

Der Standard-Entry-Point des Containers ist /cluster-api/cluster-api:

Terminal-Fenster
cluster-api [flags]
FlagKurzStandardBeschreibung
--config-cPfad zur Konfigurationsdatei (z. B. /etc/kubetail/cluster-api.yaml)
--addr-a:8080Host-Adresse, an die gebunden wird
--gin-modereleaseGin-Framework-Modus (release, debug)

Die Cluster API kann mit einer YAML-, JSON- oder TOML-Konfigurationsdatei konfiguriert werden. Uebergeben Sie den Pfad zur Datei mit -c / --config. Umgebungsvariablen koennen in der Konfigurationsdatei mit der Syntax ${VARIABLE_NAME} referenziert werden.

Terminal-Fenster
cluster-api --config /etc/kubetail/cluster-api.yaml
## Kubetail Cluster API Configuration File
#
# Diese Datei definiert das Verhalten des kubetail cluster API server,
# der die GraphQL-API fuer Cluster-Operationen bereitstellt.
#
## allowed-namespaces ##
#
# Liste der Namespaces, auf die die API zugreifen darf.
# Wenn leer, sind alle Namespaces zugaenglich.
#
# Standardwert: []
#
allowed-namespaces: []
## addr ##
#
# Die Netzwerkadresse und der Port, an die der HTTP-Server gebunden werden soll.
#
# Standardwert: :8080
#
addr: ":8080"
## base-path ##
#
# Der Basis-URL-Pfad fuer alle API-Endpunkte.
#
# Standardwert: /
#
base-path: /
## gin-mode ##
#
# Der Gin-Framework-Modus.
# Gueltige Werte: debug, release
#
# Standardwert: release
#
gin-mode: release
## cluster-agent ##
#
# Konfiguration fuer die Verbindung zum Cluster Agent
#
cluster-agent:
## dispatch-url ##
#
# Die URL, die fuer die Verbindung zum Cluster Agent verwendet wird.
# Unterstuetzt das Schema kubernetes:// fuer In-Cluster-Service-Discovery.
#
# Standardwert: kubernetes://kubetail-cluster-agent:50051
#
dispatch-url: kubernetes://kubetail-cluster-agent:50051
## tls ##
#
# TLS-Konfiguration fuer Verbindungen zum Cluster Agent
#
tls:
## enabled ##
#
# Ob TLS fuer Verbindungen zum Cluster Agent aktiviert ist.
#
# Standardwert: false
#
enabled: false
## cert-file ##
#
# Pfad zur TLS-Zertifikatsdatei.
#
# Standardwert: ""
#
cert-file: ""
## key-file ##
#
# Pfad zur TLS-Private-Key-Datei.
#
# Standardwert: ""
#
key-file: ""
## ca-file ##
#
# Pfad zur CA-Zertifikatsdatei, die zur Verifizierung des Zertifikats des Cluster Agent verwendet wird.
#
# Standardwert: ""
#
ca-file: ""
## server-name ##
#
# Der Servername, der fuer die TLS-Verifizierung verwendet wird.
# Wenn leer, wird der Hostname aus dispatch-url verwendet.
#
# Standardwert: ""
#
server-name: ""
## csrf ##
#
# Einstellungen fuer den CSRF-Schutz
#
csrf:
## enabled ##
#
# Ob CSRF-Schutz aktiviert ist.
#
# Standardwert: true
#
enabled: true
## logging ##
#
# Konfiguration fuer die Log-Ausgabe des API-Servers
#
logging:
## enabled ##
#
# Ob Logging fuer den Server aktiviert ist.
#
# Standardwert: true
#
enabled: true
## level ##
#
# Das minimale Log-Level, das ausgegeben wird.
# Gueltige Werte: debug, info, warn, error, disabled
#
# Standardwert: info
#
level: info
## format ##
#
# Das Format der Log-Ausgabe.
# Gueltige Werte: json, pretty
#
# Standardwert: json
#
format: json
## access-log ##
#
# Konfiguration fuer HTTP-Access-Logging
#
access-log:
## enabled ##
#
# Ob Access-Logging aktiviert ist.
#
# Standardwert: true
#
enabled: true
## hide-health-checks ##
#
# Ob Health-Check-Anfragen (/healthz) im Access-Log ausgelassen werden sollen.
#
# Standardwert: false
#
hide-health-checks: false
## tls ##
#
# TLS-Konfiguration fuer den HTTP-Server
#
tls:
## enabled ##
#
# Ob TLS aktiviert ist.
#
# Standardwert: false
#
enabled: false
## cert-file ##
#
# Pfad zur TLS-Zertifikatsdatei.
#
# Standardwert: ""
#
cert-file: ""
## key-file ##
#
# Pfad zur TLS-Private-Key-Datei.
#
# Standardwert: ""
#
key-file: ""