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 en Tanzu Kubernetes Grid.

Fluent Bit

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 de carga de trabajo que se ejecutan en vSphere 8. 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 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 de carga de trabajo 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 de carga de trabajo 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 de carga de trabajo

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

  1. Si aún no lo ha hecho, agregue el repositorio de paquetes standard al clúster:

    tanzu package repository add tanzu-standard --url projects.registry.vmware.com/tkg/packages/standard/repo:v1.6.0 --namespace tkg-system
    
  2. Si aún no lo ha hecho, instale el administrador de certificados en 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 de carga de trabajo:

    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 --generate-default-values-file
      

      Donde PACKAGE-VERSION es la versión del paquete de Fluent Bit que desea instalar. El comando anterior crea un archivo denominado fluent-bit-default-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-default-values.yaml.

      El archivo de ejemplo contiene ejemplos de configuraciones de Syslog, Elasticsearch, Kafka, Splunk y HTTP [Output] como referencia. Para utilizar la configuración del complemento de salida de Syslog proporcionada, también debe quitar la marca de comentario de las entradas [Filter] en fluent-bit.config.filters –> "Optional - uncomment if using Syslog output plugin".

      Se comentan los bloques de configuración de algunas opciones [Output], [Input] y [Filter]. Quite la marca de comentario y rellene los valores de las opciones que desee configurar. Debe proporcionar valores como nombres de host y puertos para el back-end de administración de registros, ya que estos serán específicos de su entorno. Las ubicaciones para proporcionar estos valores aparecen con el formato $PLUGIN-NAME_VARIABLE-NAME.

      Para otros complementos de Fluent Bit, consulte la documentación de Fluent Bit.

    3. Revise y modifique otros parámetros de configuración. Para obtener una lista completa de los parámetros de configuración que puede establecer en fluent-bit-default-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-default-values.yaml, elimine todos los comentarios del archivo:

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

    tanzu package install fluent-bit \
    --package-name fluent-bit.tanzu.vmware.com \
    --version AVAILABLE-PACKAGE-VERSION \
    --values-file fluent-bit-default-values.yaml \
    --namespace TARGET-NAMESPACE
    

    Donde:

    • TARGET-NAMESPACE es el espacio de nombres en el que se desea instalar el paquete de Fluent Bit, la aplicación del paquete de Fluent Bit y cualquier otro recurso de Kubernetes que describa el paquete. 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-default-values.yaml; no instale el paquete de Fluent Bit en este espacio de nombres.
    • 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-name fluent-bit.tanzu.vmware.com --namespace my-packages --version 1.8.15+vmware.1-tkg.1
    

    Si el espacio de nombres de destino aún no existe en el clúster, anexe --create-namespace al comando anterior para crearlo.

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 la sección anterior Implementar Fluent Bit en un clúster de carga de trabajo.

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. Cadena 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. Cadena 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. Cadena 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. Cadena 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. Objeto <nil>
fluent_bit.daemonset.podAnnotations Las anotaciones del pod de implementaciones de Fluent Bit. Objeto <nil>
fluent_bit.daemonset.podLabels Las etiquetas del pod de implementaciones de Fluent Bit. Objeto <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-default-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-default-values.yaml.

  2. Actualice el paquete instalado:

    tanzu package installed update fluent-bit \
    --version 1.8.15+vmware.1-tkg.1 \
    --values-file fluent-bit-default-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