Instalar Fluent Bit para el reenvío de registros

En este tema se explica cómo implementar Fluent Bit en un clúster de carga de trabajo o administración independiente en Tanzu Kubernetes Grid.

Fluent Bit es un reenviador y un procesador de registros ligeros. La implementación de Fluent Bit proporcionada en esta versión de Tanzu Kubernetes Grid permite recopilar registros de los clústeres que se ejecutan en vSphere 8, Amazon Web Services (AWS) y Azure. A continuación, puede reenviarlos a un proveedor de almacenamiento de registros, como Elastic Search, Kafka, Splunk o un endpoint HTTP.

Puede implementar Fluent Bit en cualquier clúster de carga de trabajo o de administración independiente desde el que desee recopilar registros. En primer lugar, debe configurar un complemento de salida en el clúster desde el que desea recopilar registros, según el endpoint que utilice. A continuación, implemente Fluent Bit en el clúster.

Requisitos previos

Preparar el clúster para la implementación de Fluent Bit

Nota

Debe implementar Fluent Bit en cada clúster desde el que desea recopilar registros.

Para preparar el clúster:

  1. Obtenga las credenciales de administrador del clúster en el que desea implementar Fluent Bit. Por ejemplo:

    tanzu cluster kubeconfig get my-cluster --admin
    
  2. Establezca el contexto de kubectl en el clúster. Por ejemplo:

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

Implementar Fluent Bit en un clúster

Siga el procedimiento a continuación para implementar Fluent Bit en un clúster:

  1. Si el clúster no tiene un repositorio de paquetes con el paquete de Fluent Bit instalado, como el repositorio tanzu-standard, instale uno:

    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    

    Donde:

    • PACKAGE-REPO-NAME es el nombre del repositorio de paquetes, como tanzu-standard o el nombre de un registro de imagen privado configurado con variables ADDITIONAL_IMAGE_REGISTRY.
    • PACKAGE-REPO-ENDPOINTes la URL del repositorio de paquetes.

      • En esta versión, la URL tanzu-standard es projects.registry.vmware.com/tkg/packages/standard/repo:v2023.10.16. Consulte Repositorios de paquetes de lista para obtener este valor de la CLI de Tanzu, o bien en Tanzu Mission Control, consulte la lista Complementos (Addons) > Repositorios (Repositories) en el panel Clúster (Cluster).
  2. Si aún no lo ha hecho, instale cert-manageren el clúster. Para obtener instrucciones, consulte Instalar el administrador de certificados para la administración de certificados.

  3. Confirme que el paquete de Fluent Bit esté disponible en el clúster:

    tanzu package available list -A
    
  4. Recupere la versión del paquete disponible:

    tanzu package available list fluent-bit.tanzu.vmware.com -A
    
  5. Prepare un archivo de configuración para el paquete de Fluent Bit:

    1. Recupere la configuración predeterminada del paquete:

      tanzu package available get fluent-bit.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
      

      Donde PACKAGE-VERSION es la versión del paquete de Fluent Bit que desea instalar y FILE-PATH es la ubicación en la que desea guardar el archivo de configuración, por ejemplo, fluent-bit-data-values.yaml.

    2. Según el back-end de administración de registros que desee configurar, agregue una o varias configuraciones [Output] a la clave fluent_bit.config.outputs en el archivo fluent-bit-data-values.yaml.

    3. Revise y modifique otros parámetros de configuración. Para obtener vínculos a listas completas de los parámetros de configuración que puede establecer en fluent-bit-data-values.yaml, consulte Parámetros de configuración del paquete de Fluent Bit a continuación.

  6. Después de preparar el archivo fluent-bit-data-values.yaml, elimine todos los comentarios del archivo:

    yq -i eval '... comments=""' fluent-bit-data-values.yaml
    
  7. Ejecute tanzu package install para implementar el paquete:

    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
    

    Donde:

    • TARGET-NAMESPACE es el espacio de nombres en el que se desea instalar el paquete de Fluent Bit. Po ejemplo, el espacio de nombres my-packages.

      • Si no se especifica la marca --namespace, la CLI de Tanzu utiliza el espacio de nombres default. Los pods de Fluent Bit y cualquier otro recurso asociado con el componente Fluent Bit se crean en el espacio de nombres que proporcionó en fluent-bit-data-values.yaml; no instale el paquete de Fluent Bit en este espacio de nombres.
      • El espacio de nombres especificado ya debe existir, por ejemplo, al haber ejecutado kubectl create namespace my-packages.
    • AVAILABLE-PACKAGE-VERSION es la versión que recuperó ejecutando el paquete de tanzu package available anterior.

    Por ejemplo:

    tanzu package install fluent-bit --package fluent-bit.tanzu.vmware.com --namespace my-packages --version 2.1.2+vmware.1-tkg.1
    

Parámetros de configuración del paquete de Fluent Bit

En la siguiente tabla, se enumeran los parámetros de configuración del paquete de Fluent Bit y se describen sus valores predeterminados. Puede establecer los siguientes valores de configuración en el archivo fluent-bit-data-values.yml creado en Implementar Fluent Bit en un clúster anteriormente.

Parámetro Descripción Tipo Predeterminado
namespace Espacio de nombres en el que se implementará Fluent Bit. Cadena tanzu-system-logging
fluent_bit.config.outputs Para obtener información sobre la configuración de los resultados de Fluent Bit, consulte la documentación de Fluent Bit. YAML de varias líneas Standard output
fluent_bit.config.parsers Para obtener información sobre la configuración de analizadores de Fluent Bit, consulte la documentación de Fluent Bit. YAML de varias líneas JSON parser
fluent_bit.config.plugins Contenido para la configuración de complementos de Fluent Bit. Cadena <nil>
fluent_bit.config.service Para obtener información sobre la configuración del servicio Fluent Bit, consulte la documentación de Fluent Bit. YAML de varias líneas Configuración predeterminada del servicio Fluent Bit.
fluent_bit.config.streams Contenido del archivo de historiales de Fluent Bit. Cadena <nil>
fluent_bit.config.filters Para obtener información sobre la configuración de los filtros de Fluent Bit, consulte la documentación de Fluent Bit. YAML de varias líneas Filtro de Kubernetes predeterminado.
fluent_bit.config.inputs Para obtener información sobre la configuración de entradas de Fluent Bit, consulte la documentación de Fluent Bit. Cadena Ingerir registros de contenedor de Kubernetes mediante el complemento tail e ingerir registros systemd de Kubelet.
fluent_bit.daemonset.resources Para obtener información sobre la configuración de los requisitos de recursos de los contenedores de Fluent Bit, consulte la documentación de Fluent Bit. YAML de varias líneas <nil>
fluent_bit.daemonset.podAnnotations Las anotaciones del pod de implementaciones de Fluent Bit. Lista <nil>
fluent_bit.daemonset.podLabels Las etiquetas del pod de implementaciones de Fluent Bit. Lista <nil>

Verificar la implementación de Fluent Bit

Después de implementar Fluent Bit, puede comprobar que la implementación se realice correctamente:

  1. Confirme que el paquete de Fluent-Bit esté instalado. Por ejemplo:

    tanzu package installed list -A
    

    El paquete fluent-bit y la aplicación fluent-bit se instalan en el espacio de nombres que especifique al ejecutar el comando tanzu package install.

  2. Confirme que la aplicación fluent-bit se haya conciliado correctamente en su AVAILABLE-PACKAGE-NAMESPACE:

    kubectl get apps -A
    

    Si el estado no es Reconcile succeeded, consulte los detalles del estado completo de la aplicación fluent-bit. Ver el estado completo puede ayudarle a solucionar el problema:

    kubectl get app fluent-bit --namespace AVAILABLE-PACKAGE-NAMESPACE -o yaml
    

    Donde AVAILABLE-PACKAGE-NAMESPACE es el espacio de nombres en el que se instaló el paquete.

  3. Confirme que los nuevos servicios se estén ejecutando enumerando todos los pods que se ejecutan en el clúster:

    kubectl get pods -A
    

    En el espacio de nombres tanzu-system-logging, debería ver el servicio fluent-bit que se ejecuta en un pod:

    NAMESPACE               NAME                     READY   STATUS    RESTARTS   AGE
    [...]
    tanzu-system-logging    fluent-bit-zd2tn         1/1     Running   0          6m23s
    [...]
    

    Los pods de Fluent Bit y cualquier otro recurso asociado con el componente Fluent Bit se crean en el espacio de nombres que proporcionó en el archivo fluent-bit-data-values.yaml. Si utiliza el espacio de nombres predeterminado, estos se crean en el espacio de nombres tanzu-system-logging.

Actualizar una implementación en ejecución de Fluent Bit

Para realizar cambios en la configuración del paquete de Fluent Bit después de la implementación, actualice el paquete de Fluent Bit implementado:

  1. Actualice la configuración de Fluent Bit en el archivo fluent-bit-data-values.yaml.

  2. Actualice el paquete instalado:

    tanzu package installed update fluent-bit \
    --version 2.1.2+vmware.1-tkg.1 \
    --values-file fluent-bit-data-values.yaml \
    --namespace my-packages
    

    Resultados esperados:

    | 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'
    

El paquete de Fluent Bit se concilia mediante el nuevo valor o los valores que agregó. kapp-controller puede tardar hasta cinco minutos en aplicar los cambios.

Para obtener información sobre la actualización, consulte Actualizar un paquete.

Eliminar una implementación de Fluent Bit

Para eliminar el paquete de Fluent Bit en el clúster, ejecute:

tanzu package installed delete fluent-bit --namespace my-packages

Para obtener información sobre cómo eliminar, consulte Eliminar un paquete.

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