Cette rubrique explique comment déployer Fluent Bit dans un cluster de gestion autonome ou de charge de travail dans Tanzu Kubernetes Grid.
Fluent Bit est un processeur et un redirecteur de journaux léger. L'implémentation de Fluent Bit fournie dans cette version de Tanzu Kubernetes Grid vous permet de collecter des journaux à partir de clusters s'exécutant sur vSphere 8, Amazon Web Services (AWS) et Azure. Vous pouvez ensuite les transférer vers un fournisseur de stockage de journaux tel qu'Elastic Search Kafka, Splunk ou un point de terminaison HTTP.
Vous pouvez déployer Fluent Bit sur n'importe quel cluster de gestion autonome ou cluster de charge de travail à partir duquel vous souhaitez collecter des journaux. Tout d'abord, vous configurez un plug-in de sortie sur le cluster à partir duquel vous souhaitez collecter des journaux, en fonction du point de terminaison que vous utilisez. Ensuite, vous déployez Fluent Bit sur le cluster.
kubectl
, comme décrit dans Installer la CLI Tanzu et d'autres outils à utiliser avec un superviseur vSphere with Tanzu ou Installer la CLI Tanzu et d'autres outils à utiliser avec les clusters de gestion autonomes.Remarquevous devez déployer Fluent Bit sur chaque cluster à partir duquel vous souhaitez collecter des journaux.
Pour préparer le cluster :
Obtenez les informations d'identification de l'administrateur du cluster dans lequel vous souhaitez déployer Fluent Bit. Par exemple :
tanzu cluster kubeconfig get my-cluster --admin
Définissez le contexte de kubectl sur le cluster. Par exemple :
kubectl config use-context my-cluster-admin@my-cluster
Suivez la procédure ci-dessous pour déployer Fluent Bit sur un cluster :
Si le cluster ne dispose pas d'un référentiel de modules avec le module Fluent Bit installé, tel que le référentiel tanzu-standard
, installez-en un :
RemarqueSi vous ciblez un cluster basé sur un plan (hérité), ignorez cette étape. Pour les clusters basés sur un plan, le référentiel de modules
tanzu-standard
est automatiquement activé dans chaque cluster, dans l'espace de nomstanzu-package-repo-global
.
tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
Où :
PACKAGE-REPO-NAME
est le nom du référentiel de modules, tel que tanzu-standard
ou le nom d'un registre d'images privé configuré avec des variables ADDITIONAL_IMAGE_REGISTRY
.PACKAGE-REPO-ENDPOINT
est l'URL du référentiel de modules.
tanzu-standard
est projects.registry.vmware.com/tkg/packages/standard/repo:v2.2.0
. Reportez-vous à la section Répertorier les référentiels de modules (List Package Repositories) pour obtenir cette valeur depuis la CLI Tanzu ou, dans Tanzu Mission Control, consultez la liste Modules complémentaires (Addons) > Référentiels (Repositories) dans le volet Cluster.Si vous ne l'avez pas encore fait, installez le gestionnaire de certificats dans le cluster. Pour obtenir des instructions, reportez-vous à la section Installer le gestionnaire de certificats pour la gestion des certificats.
Vérifiez que le module Fluent Bit est disponible dans votre cluster :
tanzu package available list -A
Récupérez la version du module disponible :
tanzu package available list fluent-bit.tanzu.vmware.com -A
Préparez un fichier de configuration pour le module Fluent Bit :
Récupérez la configuration par défaut du module :
tanzu package available get fluent-bit.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
Où PACKAGE-VERSION
est la version du module Fluent Bit que vous souhaitez installer et FILE-PATH
est l'emplacement dans lequel vous souhaitez enregistrer le fichier de configuration (par exemple, fluent-bit-data-values.yaml
).
En fonction du serveur principal de gestion des journaux que vous souhaitez configurer, ajoutez une ou plusieurs configurations [Output]
à la clé fluent_bit.config.outputs
dans le fichier fluent-bit-data-values.yaml
.
Vérifiez et, si nécessaire, modifiez d'autres paramètres de configuration. Pour obtenir les liens d'accès aux listes complètes des paramètres de configuration que vous pouvez définir dans fluent-bit-data-values.yaml
, reportez-vous à la section Paramètres de configuration du module Fluent Bit ci-dessous.
Après avoir préparé votre fichier fluent-bit-data-values.yaml
, supprimez tous les commentaires du fichier :
yq -i eval '... comments=""' fluent-bit-data-values.yaml
Exécutez tanzu package install
pour déployer le module :
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
Où :
TARGET-NAMESPACE
est l'espace de noms dans lequel vous souhaitez installer le module Fluent Bit. Par exemple, l'espace de noms my-packages
.
--namespace
n'est pas spécifié, la CLI Tanzu utilise l'espace de noms default
. Les espaces Fluent Bit et toutes les autres ressources associées au composant Fluent Bit sont créés dans l'espace de noms que vous avez fourni dans fluent-bit-data-values.yaml
. N'installez pas le module Fluent Bit dans cet espace de noms.kubectl create namespace my-packages
.AVAILABLE-PACKAGE-VERSION
est la version que vous avez récupérée en exécutant tanzu package available
ci-dessus.
Par exemple :
tanzu package install fluent-bit --package fluent-bit.tanzu.vmware.com --namespace my-packages --version 1.8.15+vmware.1-tkg.1
Le tableau suivant répertorie les paramètres de configuration du module Fluent Bit et décrit leurs valeurs par défaut. Vous pouvez définir les valeurs de configuration suivantes dans votre fichier fluent-bit-data-values.yml
créé dans la section Déployer Fluent Bit sur un cluster ci-dessus.
Paramètre | Description | Type | Par défaut |
---|---|---|---|
namespace |
Espace de noms où Fluent Bit sera déployé. | String | tanzu-system-logging |
fluent_bit.config.outputs |
Pour plus d'informations sur la configuration des sorties Fluent Bit, reportez-vous à la documentation Fluent Bit. | YAML multiligne | Standard output |
fluent_bit.config.parsers |
Pour plus d'informations sur la configuration des analyseurs Fluent Bit, reportez-vous à la documentation Fluent Bit. | YAML multiligne | JSON parser |
fluent_bit.config.plugins |
Contenu de la configuration des plug-ins Fluent Bit. | String | <nil> |
fluent_bit.config.service |
Pour plus d'informations sur la configuration du service Fluent Bit, reportez-vous à la documentation Fluent Bit. | YAML multiligne | Configuration du service Fluent Bit par défaut. |
fluent_bit.config.streams |
Contenu du fichier de flux Fluent Bit. | String | <nil> |
fluent_bit.config.filters |
Pour plus d'informations sur la configuration des filtres Fluent Bit, reportez-vous à la documentation Fluent Bit. | YAML multiligne | Filtre Kubernetes par défaut. |
fluent_bit.config.inputs |
Pour plus d'informations sur la configuration des entrées Fluent Bit, reportez-vous à la documentation Fluent Bit. | String | Ingérez les journaux du conteneur Kubernetes à l'aide du plug-in tail et ingérez les journaux systemd à partir de kubelet. |
fluent_bit.daemonset.resources |
Pour plus d'informations sur la configuration requise des ressources des conteneurs Fluent Bit, reportez-vous à la documentation Fluent Bit. | YAML multiligne | <nil> |
fluent_bit.daemonset.podAnnotations |
Annotations d'espace des déploiements Fluent Bit. | Liste | <nil> |
fluent_bit.daemonset.podLabels |
Étiquettes d'espace des déploiements Fluent Bit. | Liste | <nil> |
Après avoir déployé Fluent Bit, vous pouvez vérifier que le déploiement a réussi :
Vérifiez que le module Fluent Bit est installé. Par exemple :
tanzu package installed list -A
Le module fluent-bit
et l'application fluent-bit
sont installés dans l'espace de noms que vous spécifiez lors de l'exécution de la commande tanzu package install
.
Vérifiez que l'application fluent-bit
a été rapprochée de votre espace AVAILABLE-PACKAGE-NAMESPACE
:
kubectl get apps -A
Si l'état n'est pas Reconcile succeeded
, affichez les détails de l'état complet de l'application fluent-bit
. L'affichage de l'état complet peut vous aider à résoudre le problème :
kubectl get app fluent-bit --namespace AVAILABLE-PACKAGE-NAMESPACE -o yaml
Où AVAILABLE-PACKAGE-NAMESPACE
est l'espace de noms dans lequel vous avez installé le module.
Vérifiez que les nouveaux services sont en cours d'exécution en répertoriant tous les espaces qui s'exécutent dans le cluster :
kubectl get pods -A
Dans l'espace de noms tanzu-system-logging
, vous devez voir le service fluent-bit
s'exécutant dans un espace :
NAMESPACE NAME READY STATUS RESTARTS AGE
[...]
tanzu-system-logging fluent-bit-zd2tn 1/1 Running 0 6m23s
[...]
Les espaces Fluent Bit et toutes les autres ressources associées au composant Fluent Bit sont créés dans l'espace de noms que vous avez fourni dans le fichier fluent-bit-data-values.yaml
. Si vous utilisez l'espace de noms par défaut, ceux-ci sont créés dans l'espace de noms tanzu-system-logging
.
Pour apporter des modifications à la configuration du module Fluent Bit après le déploiement, mettez à jour votre module Fluent Bit déployé :
Mettez à jour la configuration Fluent Bit dans le fichier fluent-bit-data-values.yaml
.
Mettez à jour le module installé :
tanzu package installed update fluent-bit \
--version 1.8.15+vmware.1-tkg.1 \
--values-file fluent-bit-data-values.yaml \
--namespace my-packages
Sortie attendue :
| 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'
Le module Fluent Bit est rapproché à l'aide de la nouvelle valeur ou des nouvelles valeurs que vous avez ajoutées. L'application des modifications pour kapp-controller
peut prendre jusqu'à cinq minutes.
Pour plus d'informations sur la mise à jour, reportez-vous à la section Mettre à jour un module.
Pour supprimer le module Fluent Bit sur votre cluster, exécutez :
tanzu package installed delete fluent-bit --namespace my-packages
Pour plus d'informations sur la suppression, reportez-vous à la section Supprimer un module.