@@ -12,18 +12,18 @@ weight: 60
12
12
La journalisation des évènements systèmes et d'applications peut aider à
13
13
comprendre ce qui se passe dans un cluster. Les journaux sont particulièrement
14
14
utiles pour débogguer les problèmes et surveiller l'activité du cluster. La
15
- plupart des application modernes ont un mécanisme de journalisation
15
+ plupart des applications modernes ont un mécanisme de journalisation
16
16
d'évènements, et la plupart des environnements d'exécution de conteneurs ont été
17
17
conçus pour supporter la journalisation des évènements. La méthode de
18
18
journalisation la plus facile et la plus répandue pour des applications
19
19
conteneurisées est d'écrire dans les flux de sortie standard et d'erreur
20
- standard (` stdout ` et ` stderr ` ).
20
+ (` stdout ` et ` stderr ` ).
21
21
22
22
Malgré cela, la fonctionnalité de journalisation fournie nativement par
23
23
l'environnement d'exécution de conteneurs n'est pas suffisante comme solution
24
- complète de journalisation. Quand un conteneur crash , quand un Pod est expulsé
24
+ complète de journalisation. Quand un conteneur crashe , quand un Pod est expulsé
25
25
ou quand un nœud disparaît, il est utile de pouvoir accéder au journal
26
- d'événement de l'application. C'est pourquoi les journaux doivent avoir leur
26
+ d'événements de l'application. C'est pourquoi les journaux doivent avoir leur
27
27
propre espace de stockage et un cycle de vie indépendamment des nœuds, Pods ou
28
28
conteneurs. Ce concept est appelé _ journalisation des évènements au niveau du
29
29
cluster_ (cluster-level-logging). Un backend dédié pour stocker, analyser et
@@ -92,15 +92,15 @@ logs`] (/docs/reference/generated/kubectl/kubectl-commands#logs)
92
92
nœud] ( /images/docs/user-guide/logging/logging-node-level.png )
93
93
94
94
Tout ce qu'une application conteneurisée écrit sur ` stdout ` ou ` stderr ` est pris
95
- en compte et redirigé par l'environment d'exécution des conteneurs. Par exemple,
96
- Docker redirige ces deux flux à un [ driver de journalisation
95
+ en compte et redirigé par l'environnement d'exécution des conteneurs. Par exemple,
96
+ Docker redirige ces deux flux vers un [ driver de journalisation
97
97
(EN)] ( https://docs.docker.com/config/containers/logging/configure/ ) qui est
98
98
configuré dans Kubernetes pour écrire dans un fichier au format json.
99
99
100
100
{{< note >}} Le driver json de Docker traite chaque ligne comme un message
101
101
différent. Avec ce driver il n'y a pas de support direct pour des messages
102
102
multi-lignes. Il faut donc traiter les messages multi-lignes au niveau de
103
- l'agent de journalisation ou plus haut . {{< /note >}}
103
+ l'agent de journalisation ou plus en amont encore . {{< /note >}}
104
104
105
105
Par défaut quand un conteneur redémarre, le kubelet ne conserve le journal que
106
106
du dernier conteneur terminé. Quand un Pod est expulsé d'un nœud, tous ses
@@ -119,11 +119,11 @@ l'environnement d'exécution des conteneurs pour que la rotation des journaux
119
119
s'exécute automatiquement, e.g. en utilisant le paramètre ` log-opt ` de Docker.
120
120
Dans le script ` kube-up.sh ` , c'est cette méthode qui est utilisée pour des
121
121
images COS sur GCP et sinon c'est la première méthode dans tous les autres cas.
122
- Quel que soit la méthode choisie par ` kube-up.sh ` la rotation est configurée par
123
- defaut quand la taille d'un journal atteint 10 Mo.
122
+ Quelle que soit la méthode choisie par ` kube-up.sh ` la rotation est configurée par
123
+ défaut quand la taille d'un journal atteint 10 Mo.
124
124
125
125
Ce [ script] [ cosConfigureHelper ] montre de manière détaillée comment ` kube-up.sh `
126
- met en place la journalisation d'évènement pour des images COS sur GCP.
126
+ met en place la journalisation d'évènements pour des images COS sur GCP.
127
127
128
128
Quand [ ` kubectl logs ` ] ( /docs/reference/generated/kubectl/kubectl-commands#logs )
129
129
s'exécute comme dans le premier exemple de journalisation simple le kubelet du
@@ -147,10 +147,10 @@ conteneur ou pas.
147
147
Par exemple :
148
148
149
149
* Le scheduler Kubernetes et kube-proxy s'exécutent dans un conteneur.
150
- * Kubelet et l'environment d'exécution de conteneurs, comme par exemple
150
+ * Kubelet et l'environnement d'exécution de conteneurs, comme par exemple
151
151
Docker, ne s'exécutent pas dans un conteneur.
152
152
153
- Sur les systèmes avec systemd, kubelet et l'environment d'exécution de
153
+ Sur les systèmes avec systemd, kubelet et l'environnement d'exécution de
154
154
conteneurs écrivent dans journald. Si systemd n'est pas présent, ils écrivent
155
155
dans un fichier ` .log ` dans le répertoire ` /var/log ` .
156
156
@@ -198,7 +198,7 @@ le nœud. Ces deux dernières options sont obsolètes et fortement découragées
198
198
Utiliser un agent de journalisation au niveau du nœud est l'approche la plus
199
199
commune et recommandée pour un cluster Kubernetes parce qu'un seul agent par
200
200
nœud est créé et qu'aucune modification dans l'application n'est nécessaire.
201
- Mais cette approche _ ne fonctionne correctement que pour les flux standard de
201
+ Mais cette approche _ ne fonctionne correctement que pour les flux standards de
202
202
sortie et d'erreurs des applications_ .
203
203
204
204
Kubernetes ne définit pas d'agent de journalisation, mais deux agents de
@@ -288,13 +288,13 @@ Notez que bien que la consommation en CPU et mémoire soit faible ( de l'ordre d
288
288
quelques milicores pour la CPU et quelques mégaoctets pour la mémoire), ecrire
289
289
les évènements dans un fichier et les envoyer ensuite dans ` stdout ` peut doubler
290
290
l'espace disque utilisé. Quand une application écrit dans un seul fichier de
291
- journal il est préférable de configurer ` /dev/stdout ` comme destination plutôt
291
+ journal, il est préférable de configurer ` /dev/stdout ` comme destination plutôt
292
292
que d'implémenter un conteneur side-car diffusant.
293
293
294
294
Les conteneurs side-car peuvent être utilisés pour faire la rotation des
295
- journaux quand l'application n'en est pas capable elle même. Un exemple serait
295
+ journaux quand l'application n'en est pas capable elle- même. Un exemple serait
296
296
un petit conteneur side-car qui effectuerait cette rotation périodiquement.
297
- Toutefois il est recommandé d'utiliser ` stdout ` et ` stderr ` directement et de
297
+ Toutefois, il est recommandé d'utiliser ` stdout ` et ` stderr ` directement et de
298
298
laisser la rotation et les politiques de rétentions au kubelet.
299
299
300
300
### Conteneur side-car avec un agent de journalisation
@@ -303,13 +303,13 @@ laisser la rotation et les politiques de rétentions au kubelet.
303
303
journalisation] ( /images/docs/user-guide/logging/logging-with-sidecar-agent.png )
304
304
305
305
Quand un agent de journalisation au niveau du nœud n'est pas assez flexible pour
306
- votre utilisation vous pouvez créer un conteneur side-car avec un agent de
306
+ votre utilisation, vous pouvez créer un conteneur side-car avec un agent de
307
307
journalisation séparé que vous avez configuré spécialement pour qu'il s'exécute
308
308
avec votre application.
309
309
310
310
{{< note >}}
311
311
Utiliser un agent de journalisation dans un conteneur side-car peut entraîner
312
- une consommation de ressource significative. De plus vous n'avez plus accès aux
312
+ une consommation de ressources significative. De plus vous n'avez plus accès aux
313
313
journaux avec la commande ` kubectl ` parce qu'ils ne sont plus gérés par
314
314
kubelet.
315
315
{{< /note >}}
@@ -355,4 +355,3 @@ Toutefois l'implémentation de ce mécanisme de journalisation est hors du cadre
355
355
de Kubernetes.
356
356
357
357
358
-
0 commit comments