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.
kubectl
, como se describe en Instalar la CLI de Tanzu y la CLI de Kubernetes para su uso con clústeres de administración independientes.NotaDebe implementar Fluent Bit en cada clúster desde el que desea recopilar registros.
Para preparar el clúster:
Obtenga las credenciales de administrador del clúster en el que desea implementar Fluent Bit. Por ejemplo:
tanzu cluster kubeconfig get my-cluster --admin
Establezca el contexto de kubectl en el clúster. Por ejemplo:
kubectl config use-context my-cluster-admin@my-cluster
Siga el procedimiento a continuación para implementar Fluent Bit en un clúster:
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-ENDPOINT
es la URL del repositorio de paquetes.
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).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.
Confirme que el paquete de Fluent Bit esté disponible en el clúster:
tanzu package available list -A
Recupere la versión del paquete disponible:
tanzu package available list fluent-bit.tanzu.vmware.com -A
Prepare un archivo de configuración para el paquete de Fluent Bit:
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
.
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
.
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.
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
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
.
--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.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
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> |
Después de implementar Fluent Bit, puede comprobar que la implementación se realice correctamente:
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
.
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.
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
.
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:
Actualice la configuración de Fluent Bit en el archivo fluent-bit-data-values.yaml
.
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.
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.