This site will be decommissioned on January 30th 2025. After that date content will be available at techdocs.broadcom.com.

Installazione di Fluent Bit per l'inoltro dei registri

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.

Prerequisiti

Preparazione del cluster per la distribuzione di Fluent Bit

Nota

è necessario distribuire Fluent Bit in ogni cluster da cui si desidera raccogliere i registri.

Per preparare il cluster:

  1. Recuperare le credenziali amministratore del cluster in cui si desidera distribuire Fluent Bit. Ad esempio:

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. Impostare il contesto di kubectl sul cluster. Ad esempio:

    kubectl config use-context my-cluster-admin@my-cluster
    

Distribuzione di Fluent Bit in un cluster

Seguire questa procedura per distribuire Fluent Bit in un cluster:

  1. Se nel cluster non è installato un repository dei pacchetti con il pacchetto Fluent Bit, ad esempio il repository tanzu-standard, installarne uno:

    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.

      • Per questa versione, l'URL di tanzu-standard è projects.registry.vmware.com/tkg/packages/standard/repo:v2023.10.16. 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.
  2. Se non è già stato fatto, installare cert-manager nel cluster. Per istruzioni, vedere Installazione di cert-manager per la gestione dei certificati.

  3. Verificare che il pacchetto Fluent Bit sia disponibile nel cluster:

    tanzu package available list -A
    
  4. Recuperare la versione del pacchetto disponibile:

    tanzu package available list fluent-bit.tanzu.vmware.com -A
    
  5. Preparare un file di configurazione per il pacchetto di Fluent Bit:

    1. 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.

    2. 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.

    3. 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.

  6. 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
    
  7. 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.

      • Se il flag --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.
      • Lo spazio dei nomi specificato deve essere già stato creato, ad esempio eseguendo 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 2.1.2+vmware.1-tkg.1
    

Parametri di configurazione del pacchetto Fluent Bit

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>

Verifica della distribuzione di Fluent Bit

Dopo aver distribuito Fluent Bit, è possibile verificare che la distribuzione sia stata eseguita correttamente:

  1. 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.

  2. 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.

  3. 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.

Aggiornamento di una distribuzione Fluent Bit in esecuzione

Per apportare modifiche alla configurazione del pacchetto Fluent Bit dopo la distribuzione, aggiornare il pacchetto Fluent Bit distribuito:

  1. Aggiornare la configurazione Fluent Bit nel file fluent-bit-data-values.yaml.

  2. Aggiornare il pacchetto installato:

    tanzu package installed update fluent-bit \
    --version 2.1.2+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.

Eliminazione di una distribuzione Fluent Bit

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.

check-circle-line exclamation-circle-line close-line
Scroll to top icon