Questo argomento spiega come distribuire Fluent Bit in un cluster di gestione autonomo o un cluster del carico di lavoro in Tanzu Kubernetes Grid.
Fluent Bit è un server di inoltro e processore del registro semplificato. L'implementazione di Fluent Bit fornita in questa versione di Tanzu Kubernetes Grid consente di raccogliere i registri dei cluster in esecuzione in vSphere 8, Amazon Web Services (AWS) e Azure. È quindi possibile inoltrarli a un provider di storage dei registri come Elastic Search, Kafka, Splunk o un endpoint HTTP.
È possibile distribuire Fluent Bit in qualsiasi cluster di gestione autonomo o cluster del carico di lavoro da cui si desidera raccogliere registri. Configurare innanzitutto un plug-in di output nel cluster da cui si desidera raccogliere i registri, in base all'endpoint utilizzato. Quindi, distribuire Fluent Bit nel cluster.
kubectl
, come descritto in Installazione della CLI di Tanzu e altri strumenti per l'utilizzo con un supervisore vSphere with Tanzu o Installazione della CLI di Tanzu e altri strumenti per l'utilizzo con i cluster di gestione autonomi.Notaè necessario distribuire Fluent Bit in ogni cluster da cui si desidera raccogliere i registri.
Per preparare il cluster:
Recuperare le credenziali amministratore del cluster in cui si desidera distribuire Fluent Bit. Ad esempio:
tanzu cluster kubeconfig get my-cluster --admin
Impostare il contesto di kubectl sul cluster. Ad esempio:
kubectl config use-context my-cluster-admin@my-cluster
Seguire questa procedura per distribuire Fluent Bit in un cluster:
Se nel cluster non è installato un repository dei pacchetti con il pacchetto Fluent Bit, ad esempio il repository tanzu-standard
, installarne uno:
NotaSe si utilizza un cluster basato sul piano (legacy), ignorare questo passaggio. Per i cluster basati sul piano, il repository dei pacchetti
tanzu-standard
veniva abilitato automaticamente in ogni cluster nello spazio dei nomitanzu-package-repo-global
.
tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
In cui:
PACKAGE-REPO-NAME
è il nome del repository dei pacchetti, ad esempio tanzu-standard
o il nome di un registro immagini privato configurato con le variabili ADDITIONAL_IMAGE_REGISTRY
.PACKAGE-REPO-ENDPOINT
è l'URL del repository dei pacchetti.
tanzu-standard
è projects.registry.vmware.com/tkg/packages/standard/repo:v2.2.0
. Vedere Elenco dei repository dei pacchetti per ottenere questo valore dalla CLI di Tanzu oppure in Tanzu Mission Control vedere l'elenco Elementi aggiuntivi (Addons) > Repository (Repositories) nel riquadro Cluster.Se non è già stato fatto, installare cert-manager nel cluster. Per istruzioni, vedere Installazione di cert-manager per la gestione dei certificati.
Verificare che il pacchetto Fluent Bit sia disponibile nel cluster:
tanzu package available list -A
Recuperare la versione del pacchetto disponibile:
tanzu package available list fluent-bit.tanzu.vmware.com -A
Preparare un file di configurazione per il pacchetto di Fluent Bit:
Recuperare la configurazione predefinita del pacchetto:
tanzu package available get fluent-bit.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
Dove PACKAGE-VERSION
è la versione del pacchetto Fluent Bit che si desidera installare e FILE-PATH
è la posizione in cui si desidera salvare il file di configurazione, ad esempio fluent-bit-data-values.yaml
.
In base al back-end di gestione dei registri da configurare, aggiungere una o più configurazioni [Output]
alla chiave fluent_bit.config.outputs
nel file fluent-bit-data-values.yaml
.
Rivedere e, se necessario, modificare altri parametri di configurazione. Per i collegamenti agli elernchi completi dei parametri di configurazione che è possibile impostare in fluent-bit-data-values.yaml
, vedere Parametri di configurazione del pacchetto di Fluent Bit di seguito.
Dopo aver preparato il file fluent-bit-data-values.yaml
, rimuovere tutti i commenti nel file:
yq -i eval '... comments=""' fluent-bit-data-values.yaml
Eseguire tanzu package install
per distribuire il pacchetto:
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
In cui:
TARGET-NAMESPACE
è lo spazio dei nomi in cui si desidera installare il pacchetto Fluent Bit. Ad esempio, lo spazio dei nomi my-packages
.
--namespace
non viene specificato, la CLI di Tanzu utilizza lo spazio dei nomi default
. I pod Fluent Bit e tutte le altre risorse associate al componente Fluent Bit vengono creati nello spazio dei nomi specificato in fluent-bit-data-values.yaml
. Non installare il pacchetto di Fluent Bit in questo spazio dei nomi.kubectl create namespace my-packages
.AVAILABLE-PACKAGE-VERSION
è la versione recuperata eseguendo il pacchetto tanzu package available
precedente.
Ad esempio:
tanzu package install fluent-bit --package fluent-bit.tanzu.vmware.com --namespace my-packages --version 1.8.15+vmware.1-tkg.1
Nella tabella seguente sono elencati i parametri di configurazione del pacchetto di Fluent Bit e i valori predefiniti. È possibile impostare i valori di configurazione seguenti nel file fluent-bit-data-values.yml
creato nella sezione Distribuzione di Fluent Bit in un cluster precedente.
Parametro | Descrizione | Tipo | Predefinito |
---|---|---|---|
namespace |
Spazio dei nomi in cui verrà distribuito Fluent Bit. | Stringa | tanzu-system-logging |
fluent_bit.config.outputs |
Per informazioni sulla configurazione degli output di Fluent Bit, vedere la documentazione relativa a Fluent Bit. | YAML multilinea | Standard output |
fluent_bit.config.parsers |
Per informazioni sulla configurazione dei parser di Fluent Bit, vedere la documentazione relativa a Fluent Bit. | YAML multilinea | JSON parser |
fluent_bit.config.plugins |
Contenuti per la configurazione dei plug-in Fluent Bit. | Stringa | <nil> |
fluent_bit.config.service |
Per informazioni sulla configurazione del servizio Fluent Bit, vedere la documentazione relativa a Fluent Bit. | YAML multilinea | Configurazione del servizio Fluent Bit predefinita. |
fluent_bit.config.streams |
Contenuti per il file dei flussi di Fluent Bit. | Stringa | <nil> |
fluent_bit.config.filters |
Per informazioni sulla configurazione dei filtri di Fluent Bit, vedere la documentazione relativa a Fluent Bit. | YAML multilinea | Filtro di Kubernetes predefinito. |
fluent_bit.config.inputs |
Per informazioni sulla configurazione degli input Fluent Bit, vedere la documentazione relativa a Fluent Bit. | Stringa | Inserire i registri dei container Kubernetes utilizzando il plug-in tail e inserire i registri systemd da kubelet. |
fluent_bit.daemonset.resources |
Per informazioni sulla configurazione dei requisiti delle risorse dei container Fluent Bit, vedere la documentazione relativa a Fluent Bit. | YAML multilinea | <nil> |
fluent_bit.daemonset.podAnnotations |
Annotazioni sul pod delle distribuzioni Fluent Bit. | Elenco | <nil> |
fluent_bit.daemonset.podLabels |
Etichette dei pod delle distribuzioni Fluent Bit. | Elenco | <nil> |
Dopo aver distribuito Fluent Bit, è possibile verificare che la distribuzione sia stata eseguita correttamente:
Verificare che il pacchetto fluent-bit sia installato. Ad esempio:
tanzu package installed list -A
Il pacchetto fluent-bit
e l'app fluent-bit
vengono installati nello spazio dei nomi specificato quando si esegue il comando tanzu package install
.
Verificare che l'app fluent-bit
sia riconciliata correttamente in AVAILABLE-PACKAGE-NAMESPACE
:
kubectl get apps -A
Se lo stato non è Reconcile succeeded
, visualizzare i dettagli completi dello stato dell'app fluent-bit
. La visualizzazione dello stato completo può aiutare a risolvere il problema:
kubectl get app fluent-bit --namespace AVAILABLE-PACKAGE-NAMESPACE -o yaml
Dove AVAILABLE-PACKAGE-NAMESPACE
è lo spazio dei nomi in cui è stato installato il pacchetto.
Verificare che i nuovi servizi siano in esecuzione visualizzando l'elenco di tutti i pod in esecuzione nel cluster:
kubectl get pods -A
Nello spazio dei nomi tanzu-system-logging
il servizio fluent-bit
è in esecuzione in un pod:
NAMESPACE NAME READY STATUS RESTARTS AGE
[...]
tanzu-system-logging fluent-bit-zd2tn 1/1 Running 0 6m23s
[...]
I pod Fluent Bit e tutte le altre risorse associate al componente Fluent Bit vengono creati nello spazio dei nomi specificato nel file fluent-bit-data-values.yaml
. Se si utilizza lo spazio dei nomi predefinito, questi vengono creati nello spazio dei nomi tanzu-system-logging
.
Per apportare modifiche alla configurazione del pacchetto Fluent Bit dopo la distribuzione, aggiornare il pacchetto Fluent Bit distribuito:
Aggiornare la configurazione Fluent Bit nel file fluent-bit-data-values.yaml
.
Aggiornare il pacchetto installato:
tanzu package installed update fluent-bit \
--version 1.8.15+vmware.1-tkg.1 \
--values-file fluent-bit-data-values.yaml \
--namespace my-packages
Output previsto:
| 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'
Il pacchetto Fluent Bit viene riconciliato utilizzando il nuovo valore o i valori aggiunti. L'applicazione delle modifiche da parte di kapp-controller
può richiedere fino a cinque minuti.
Per informazioni sull'aggiornamento di, vedere Aggiornamento di un pacchetto.
Per rimuovere il pacchetto Fluent Bit nel cluster, eseguire:
tanzu package installed delete fluent-bit --namespace my-packages
Per informazioni sull'eliminazione, vedere Eliminazione di un pacchetto.