In diesem Thema wird die Bereitstellung von Fluent Bit in einem eigenständigen Verwaltungs- oder Arbeitslastcluster in Tanzu Kubernetes Grid erläutert.
Fluent Bit ist ein einfacher Protokollprozessor und eine einfache Ereignisweiterleitung. Mit der in dieser Version von Tanzu Kubernetes Grid bereitgestellten Fluent Bit-Implementierung können Sie Protokolle aus Clustern erfassen, die unter vSphere 8, Amazon Web Services (AWS) und Azure ausgeführt werden. Sie können sie dann an einen Protokollspeicheranbieter wie Elastic Search, Kafka, Splunk oder an einen HTTP-Endpoint weiterleiten.
Sie können Fluent Bit auf jedem eigenständigen Verwaltungs- oder Arbeitslastcluster bereitstellen, aus dem Sie Protokolle erfassen möchten. Je nach verwendetem Endpoint konfigurieren Sie zuerst ein Ausgabe-Plug-In auf dem Cluster, für den Protokolle erfasst werden sollen. Anschließend stellen Sie Fluent Bit auf dem Cluster bereit.
kubectl
(siehe Installieren der Tanzu CLI und Kubernetes-CLI für die Verwendung mit eigenständigen Verwaltungsclustern).HinweisSie müssen Fluent Bit in jedem Cluster bereitstellen, für den Protokolle erfasst werden sollen.
So bereiten Sie den Cluster vor:
Rufen Sie die Admin-Anmeldedaten des Clusters ab, in dem Sie Fluent Bit bereitstellen möchten. Beispiel:
tanzu cluster kubeconfig get my-cluster --admin
Legen Sie den Kontext von kubectl auf den Cluster fest. Beispiel:
kubectl config use-context my-cluster-admin@my-cluster
Führen Sie folgendes Verfahren durch, um Fluent Bit auf einem Cluster bereitzustellen:
Wenn der Cluster nicht über ein Paket-Repository mit installiertem Fluent Bit-Paket verfügt, wie z. B. das tanzu-standard
-Repository, installieren Sie es:
tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
Dabei gilt:
PACKAGE-REPO-NAME
ist der Name des Paket-Repositorys, wie z. B. tanzu-standard
, oder der Name einer privaten Image-Registrierung, die mit ADDITIONAL_IMAGE_REGISTRY
-Variablen konfiguriert ist.PACKAGE-REPO-ENDPOINT
ist die URL des Paket-Repositorys.
tanzu-standard
-URL projects.registry.vmware.com/tkg/packages/standard/repo:v2023.10.16
. Informationen zum Abrufen dieses Werts über die Tanzu CLI finden Sie unter Listen von Paketrepositorys oder in Tanzu Mission Control in der Liste Add-Ons (Addons) > Repositorys (Repositories) im Fensterbereich Cluster.Wenn Sie dies noch nicht getan haben, installieren Sie cert-manager im Cluster. Eine Anleitung finden Sie unter Installieren von cert-manager für die Zertifikatsverwaltung.
Bestätigen Sie, dass das Fluent Bit-Paket in Ihrem Arbeitslastcluster verfügbar ist:
tanzu package available list -A
Rufen Sie die Version des verfügbaren Pakets ab:
tanzu package available list fluent-bit.tanzu.vmware.com -A
Bereiten Sie eine Konfigurationsdatei für das Fluent Bit-Paket vor:
Rufen Sie die Standardkonfiguration des Pakets ab:
tanzu package available get fluent-bit.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
Dabei ist PACKAGE-VERSION
die Version des Fluent Bit-Pakets, das Sie installieren möchten, und FILE-PATH
der Speicherort, an dem Sie die Konfigurationsdatei speichern möchten, z. B. fluent-bit-data-values.yaml
.
Fügen Sie basierend auf dem zu konfigurierenden Protokollverwaltungs-Backend eine oder mehrere [Output]
-Konfigurationen zum Schlüssel fluent_bit.config.outputs
in der Datei fluent-bit-data-values.yaml
hinzu.
Überprüfen Sie weitere Konfigurationsparameter und ändern Sie sie bei Bedarf. Links zu vollständigen Listen der Konfigurationsparameter, die Sie in fluent-bit-data-values.yaml
festlegen können, finden Sie unten im Abschnitt Konfigurationsparameter des Fluent Bit-Pakets.
Entfernen Sie nach der Vorbereitung Ihrer Datei fluent-bit-data-values.yaml
alle Kommentare in der Datei:
yq -i eval '... comments=""' fluent-bit-data-values.yaml
Führen Sie tanzu package install
aus, um das Paket bereitzustellen:
tanzu package install fluent-bit \
--package fluent-bit.tanzu.vmware.com \
--version AVAILABLE-PACKAGE-VERSION \
--values-file fluent-bit-data-values.yaml \
--namespace TARGET-NAMESPACE
Dabei gilt:
TARGET-NAMESPACE
ist der Namespace, in dem das Fluent Bit-Paket installiert werden soll. Beispielsweise der my-packages
-Namespace.
--namespace
nicht angegeben ist, verwendet die Tanzu CLI den Namespace default
. Die Fluent Bit-Pods und alle anderen mit der Fluent Bit-Komponente verknüpften Ressourcen werden in dem Namespace erstellt, den Sie in fluent-bit-data-values.yaml
bereitgestellt haben. Installieren Sie das Fluent Bit-Paket nicht in diesem Namespace.kubectl create namespace my-packages
.AVAILABLE-PACKAGE-VERSION
ist die Version, die Sie durch Ausführung des tanzu package available
(siehe oben) abgerufen haben.
Beispiel:
tanzu package install fluent-bit --package fluent-bit.tanzu.vmware.com --namespace my-packages --version 2.1.2+vmware.1-tkg.1
In der folgenden Tabelle werden die Konfigurationsparameter des Fluent Bit-Pakets aufgelistet und ihre Standardwerte beschrieben. Sie können die folgenden Konfigurationswerte in der Datei fluent-bit-data-values.yml
festlegen, die oben in Bereitstellen von Fluent Bit in einem Cluster erstellt wurde.
Parameter | Beschreibung | Typ | Standard |
---|---|---|---|
namespace |
Namespace, in dem Fluent Bit bereitgestellt wird. | Zeichenfolge | tanzu-system-logging |
fluent_bit.config.outputs |
Informationen zur Konfiguration für Fluent Bit-Ausgaben finden Sie in der Fluent Bit-Dokumentation. | YAML mit mehrzeiligen Zeichenfolgen | Standard output |
fluent_bit.config.parsers |
Informationen zur Konfiguration für Fluent Bit-Parser finden Sie in der Fluent Bit-Dokumentation. | YAML mit mehrzeiligen Zeichenfolgen | JSON parser |
fluent_bit.config.plugins |
Inhalt für die Konfiguration der Fluent Bit-Plug-Ins. | Zeichenfolge | <nil> |
fluent_bit.config.service |
Informationen zur Konfiguration für den Fluent Bit-Dienst finden Sie in der Fluent Bit-Dokumentation. | YAML mit mehrzeiligen Zeichenfolgen | Standardkonfiguration des Fluent Bit-Dienstes. |
fluent_bit.config.streams |
Inhalt für die Fluent Bit-Streams-Datei. | Zeichenfolge | <nil> |
fluent_bit.config.filters |
Informationen zur Konfiguration für Fluent Bit-Filter finden Sie in der Fluent Bit-Dokumentation. | YAML mit mehrzeiligen Zeichenfolgen | Kubernetes-Standardfilter. |
fluent_bit.config.inputs |
Informationen zur Konfiguration für Fluent Bit-Eingaben finden Sie in der Fluent Bit-Dokumentation. | Zeichenfolge | Erfassen Sie Kubernetes-Containerprotokolle mithilfe des Plug-Ins tail und erfassen Sie systemd -Protokolle aus kubelet. |
fluent_bit.daemonset.resources |
Informationen zur Konfiguration für Ressourcenanforderungen der Fluent Bit-Container finden Sie in der Fluent Bit-Dokumentation. | YAML mit mehrzeiligen Zeichenfolgen | <nil> |
fluent_bit.daemonset.podAnnotations |
Die Pod-Anmerkungen der Fluent Bit-Bereitstellungen. | Liste | <nil> |
fluent_bit.daemonset.podLabels |
Die Pod-Bezeichnungen der Fluent Bit-Bereitstellungen. | Liste | <nil> |
Nach der Bereitstellung von Fluent Bit können Sie überprüfen, ob die Bereitstellung erfolgreich durchgeführt wurde:
Bestätigen Sie, dass das Fluent-Bit-Paket installiert ist. Beispiel:
tanzu package installed list -A
Das fluent-bit
-Paket und die fluent-bit
-App werden in dem Namespace installiert, den Sie beim Ausführen des Befehls tanzu package install
angeben.
Bestätigen Sie, dass die fluent-bit
-App erfolgreich in Ihrem AVAILABLE-PACKAGE-NAMESPACE
abgeglichen wurde:
kubectl get apps -A
Lautet der Status nicht Reconcile succeeded
, zeigen Sie die vollständigen Statusdetails der App fluent-bit
an. Die Anzeige des vollständigen Status kann Sie bei der Behebung des Problems unterstützen:
kubectl get app fluent-bit --namespace AVAILABLE-PACKAGE-NAMESPACE -o yaml
Dabei gilt: AVAILABLE-PACKAGE-NAMESPACE
ist der Namespace, in dem Sie das Paket installiert haben.
Bestätigen Sie, dass die neuen Dienste ausgeführt werden, indem Sie alle im Cluster ausgeführten Pods auflisten.
kubectl get pods -A
Im Namespace tanzu-system-logging
sollte der in einem Pod ausgeführte fluent-bit
-Dienst angezeigt werden:
NAMESPACE NAME READY STATUS RESTARTS AGE
[...]
tanzu-system-logging fluent-bit-zd2tn 1/1 Running 0 6m23s
[...]
Die Fluent Bit-Pods und weitere mit der Fluent Bit-Komponente verknüpfte Ressourcen werden in dem Namespace erstellt, den Sie in der Datei fluent-bit-data-values.yaml
angegeben haben. Wenn Sie den Standard-Namespace verwenden, werden die Pods und Komponenten im Namespace tanzu-system-logging
erstellt.
Um nach der Bereitstellung Änderungen an der Konfiguration des Fluent Bit-Pakets vorzunehmen, aktualisieren Sie Ihr bereitgestelltes Fluent Bit-Paket:
Aktualisieren Sie die Fluent Bit-Konfiguration in der Datei fluent-bit-data-values.yaml
.
Aktualisieren Sie das installierte Paket:
tanzu package installed update fluent-bit \
--version 2.1.2+vmware.1-tkg.1 \
--values-file fluent-bit-data-values.yaml \
--namespace my-packages
Erwartete Ausgabe:
| Updating package 'fluent-bit'
- Getting package install for 'fluent-bit'
| Updating secret 'fluent-bit-my-packages-values'
| Updating package install for 'fluent-bit'
Updated package install 'fluent-bit' in namespace 'my-packages'
Das Fluent Bit-Paket wird mit dem neuen Wert oder den von Ihnen hinzugefügten Werten abgeglichen. Es kann bis zu fünf Minuten dauern, bis kapp-controller
die Änderungen übernommen hat.
Informationen zum Aktualisieren finden Sie unter Aktualisieren eines Pakets.
Führen Sie folgenden Befehl aus, um das Fluent Bit-Paket auf Ihrem Cluster zu löschen:
tanzu package installed delete fluent-bit --namespace my-packages
Informationen zum Löschen finden Sie unter Löschen eines Pakets.