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:

    Nota

    Se 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 nomi tanzu-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.

      • Per questa versione, l'URL di 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.
  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 1.8.15+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 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.

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