Chapitre 12. Collecte et stockage des événements Kubernetes
L'OpenShift Container Platform Event Router est un pod qui observe les événements Kubernetes et les enregistre pour qu'ils soient collectés par le sous-système de journalisation. Vous devez déployer manuellement l'Event Router.
Le routeur d'événements collecte les événements de tous les projets et les écrit sur STDOUT
. Le collecteur transmet ensuite ces événements au magasin défini dans la ressource personnalisée (CR) ClusterLogForwarder
.
Le routeur d'événements ajoute une charge supplémentaire à Fluentd et peut avoir un impact sur le nombre d'autres messages de journaux qui peuvent être traités.
12.1. Déploiement et configuration de l'Event Router Copier lienLien copié sur presse-papiers!
Suivez les étapes suivantes pour déployer l'Event Router dans votre cluster. Vous devez toujours déployer le routeur d'événements dans le projet openshift-logging
afin de vous assurer qu'il collecte les événements de l'ensemble du cluster.
L'objet Template suivant crée le compte de service, le rôle de cluster et la liaison de rôle de cluster requis pour le routeur d'événements. Le modèle configure et déploie également le pod Event Router. Vous pouvez utiliser ce modèle sans y apporter de modifications ou modifier les demandes de CPU et de mémoire de l'objet de déploiement.
Conditions préalables
- Vous devez disposer des autorisations appropriées pour créer des comptes de service et mettre à jour les liaisons de rôles de cluster. Par exemple, vous pouvez exécuter le modèle suivant avec un utilisateur ayant le rôle cluster-admin.
- Le sous-système de journalisation pour Red Hat OpenShift doit être installé.
Procédure
Créer un modèle pour le routeur d'événements :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Crée un compte de service dans le projet
openshift-logging
pour le routeur d'événements. - 2
- Crée un ClusterRole pour surveiller les événements dans le cluster.
- 3
- Crée un ClusterRoleBinding pour lier le ClusterRole au compte de service.
- 4
- Crée une carte de configuration dans le projet
openshift-logging
pour générer le fichierconfig.json
requis. - 5
- Crée un déploiement dans le projet
openshift-logging
pour générer et configurer le pod Event Router. - 6
- Spécifie l'image, identifiée par une balise telle que
v0.4
. - 7
- Spécifie la quantité minimale de CPU à allouer au pod Event Router. La valeur par défaut est
100m
. - 8
- Spécifie la quantité minimale de mémoire à allouer au pod Event Router. La valeur par défaut est
128Mi
. - 9
- Spécifie le projet
openshift-logging
dans lequel les objets doivent être installés.
Utilisez la commande suivante pour traiter et appliquer le modèle :
oc process -f <templatefile> | oc apply -n openshift-logging -f -
oc process -f <templatefile> | oc apply -n openshift-logging -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :
oc process -f eventrouter.yaml | oc apply -n openshift-logging -f -
$ oc process -f eventrouter.yaml | oc apply -n openshift-logging -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
serviceaccount/eventrouter created clusterrole.authorization.openshift.io/event-reader created clusterrolebinding.authorization.openshift.io/event-reader-binding created configmap/eventrouter created deployment.apps/eventrouter created
serviceaccount/eventrouter created clusterrole.authorization.openshift.io/event-reader created clusterrolebinding.authorization.openshift.io/event-reader-binding created configmap/eventrouter created deployment.apps/eventrouter created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Validez que l'Event Router est installé dans le projet
openshift-logging
:Voir le nouveau pod Event Router :
oc get pods --selector component=eventrouter -o name -n openshift-logging
$ oc get pods --selector component=eventrouter -o name -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
pod/cluster-logging-eventrouter-d649f97c8-qvv8r
pod/cluster-logging-eventrouter-d649f97c8-qvv8r
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Affichez les événements collectés par le routeur d'événements :
oc logs <cluster_logging_eventrouter_pod> -n openshift-logging
oc logs <cluster_logging_eventrouter_pod> -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Par exemple :
oc logs cluster-logging-eventrouter-d649f97c8-qvv8r -n openshift-logging
$ oc logs cluster-logging-eventrouter-d649f97c8-qvv8r -n openshift-logging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
{"verb":"ADDED","event":{"metadata":{"name":"openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","namespace":"openshift-service-catalog-removed","selfLink":"/api/v1/namespaces/openshift-service-catalog-removed/events/openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","uid":"787d7b26-3d2f-4017-b0b0-420db4ae62c0","resourceVersion":"21399","creationTimestamp":"2020-09-08T15:40:26Z"},"involvedObject":{"kind":"Job","namespace":"openshift-service-catalog-removed","name":"openshift-service-catalog-controller-manager-remover","uid":"fac9f479-4ad5-4a57-8adc-cb25d3d9cf8f","apiVersion":"batch/v1","resourceVersion":"21280"},"reason":"Completed","message":"Job completed","source":{"component":"job-controller"},"firstTimestamp":"2020-09-08T15:40:26Z","lastTimestamp":"2020-09-08T15:40:26Z","count":1,"type":"Normal"}}
{"verb":"ADDED","event":{"metadata":{"name":"openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","namespace":"openshift-service-catalog-removed","selfLink":"/api/v1/namespaces/openshift-service-catalog-removed/events/openshift-service-catalog-controller-manager-remover.1632d931e88fcd8f","uid":"787d7b26-3d2f-4017-b0b0-420db4ae62c0","resourceVersion":"21399","creationTimestamp":"2020-09-08T15:40:26Z"},"involvedObject":{"kind":"Job","namespace":"openshift-service-catalog-removed","name":"openshift-service-catalog-controller-manager-remover","uid":"fac9f479-4ad5-4a57-8adc-cb25d3d9cf8f","apiVersion":"batch/v1","resourceVersion":"21280"},"reason":"Completed","message":"Job completed","source":{"component":"job-controller"},"firstTimestamp":"2020-09-08T15:40:26Z","lastTimestamp":"2020-09-08T15:40:26Z","count":1,"type":"Normal"}}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vous pouvez également utiliser Kibana pour afficher les événements en créant un modèle d'index à l'aide de l'index Elasticsearch
infra
.