Am instalat FluentD pe cluster Kind-Kubernetes pe CentOS VM care rulează pe laptopul meu. Întâmpin probleme cu FluentD să citească jurnalele, deoarece aruncă următoarea eroare.
2021-08-29 08:26:31 +0000 [avertisment]: #0 [tail_container_logs] /var/log/containers/myapp-77df6bfff9-jcnwc_default_myapp-4d82556157a94e991f094adread1940f0000000000000000000000Este exclus și va fi examinat data viitoare.
Mai jos este fișierul meu fluent.conf.
<system>
@log_level debug
</system>
<source>
@type tail
@id tail_container_logs
path /var/log/containers/*.log
pos_file /var/fluent/log/containers.log.pos
#time_format %Y-%m-%dT%H:%M:%S
tag kubernetes.*
format json_in_json
read_from_head true
</source>
<filter kubernetes.**>
@type kubernetes_metadata
</filter>
<match kubernetes.**>
@type file
@id output1
path /var/fluent/log/log/data.*.log
append true
#time_slice_format %Y%m%d
#time_slice_wait 10m
#time_format %Y%m%dT%H%M%S%z
</match>
În fișierul YAML de implementare am următoarea configurație.
specificație:
containere:
- nume: my-fluentd
imagine: custom-fluentd
imagePullPolicy: Niciodată
resurse:
limite:
memorie: 800 Mi
volumMonturi:
- nume: varlog
mountPath: /var/log
- nume: varlogpods
mountPath: /var/log/pods
readOnly: adevărat
- nume: varfluent
mountPath: /var/fluent/log
terminationGracePeriodSeconds: 30
volume:
- nume: varlog
hostPath:
cale: /var/log
- nume: varlogpods
hostPath:
cale: /var/log/pods
- nume: varfluent
hostPath:
cale: /var/fluent/logs
Am citit în mai multe fire legate de o problemă similară, dar niciuna dintre ele nu pare să rezolve în mod special problema pe care am avut-o.
Când m-am uitat la fișierele jurnal în /var/log/containers
pe podul FluentD, văd că sunt linkuri simbolice către /var/log/pods
pliant. Iată un exemplu de ieșire a listei de director din folderul „/var/log/containers”.
lrwxrwxrwx 1 root root 93 Aug 29 05:02 myapp-77df6bfff9-jcnwc_default_myapp-4d82556157a94e991f011bac956d182e941a122b40b3d53fc67dfd6f39aef5d4.log -> /var/log/pods/default_myapp-77df6bfff9-jcnwc_23e368b2-0df8-49bd-b7d9-9af96a57626a/myapp/3.log
Când mă uit la permisiunea fișierului jurnal din podul FluentD, asta este ceea ce pot vedea;
/var/log/pods # ls -ltr
total 0
drwxr-xr-x 3 root root 28 Aug 27 15:29 kube-system_kube-scheduler-kind-control-plane_69dd939498054a211c3461b2a9cc8d26
drwxr-xr-x 3 root root 37 Aug 27 15:29 kube-system_kube-controller-manager-kind-control-plane_46dac9a538838115821dfd9559149484
drwxr-xr-x 3 root root 28 Aug 27 15:29 kube-system_kube-apiserver-kind-control-plane_bd1c21fe1f0ef615e0b5e41299f1be61
drwxr-xr-x 3 root root 18 Aug 27 15:29 kube-system_etcd-kind-control-plane_24ba8551bcc724a32d591bb02c423d92
drwxr-xr-x 3 root root 24 august 27 15:30 kube-system_kube-proxy-hqdkp_6ea129ba-1b2e-425e-a77b-ad75dacc4cda
drwxr-xr-x 3 root root 25 august 27 15:30 kube-system_kindnet-dsjr6_32cc1367-ce01-481d-b626-58c00ea9aa6c
drwxr-xr-x 3 root root 36 august 27 15:30 local-path-storage_local-path-provisioner-547f784dff-5rj88_fc2f27cf-3779-4cfb-a517-00f4bf12ee0c
drwxr-xr-x 3 root root 21 august 27 15:30 kube-system_coredns-558bd4d5db-lrzf4_6c526c83-f140-4e14-839c-ce00fa275890
drwxr-xr-x 3 root root 21 august 27 15:30 kube-system_coredns-558bd4d5db-bxp22_5b9836f4-66e0-42e4-a999-2428e910a557
drwxr-xr-x 3 root root 19 august 27 15:34 default_myapp-77df6bfff9-jcnwc_23e368b2-0df8-49bd-b7d9-9af96a57626a
drwxr-xr-x 3 root root 24 august 29 23:47 default_my-fluentd-t4bq6_08921212-3c02-478c-83bd-4f9aad37b9cf
/var/log/pods #
/var/log/pods #
/var/log/pods # cd default_myapp-77df6bfff9-jcnwc_23e368b2-0df8-49bd-b7d9-9af96a57626a/
/var/log/pods/default_myapp-77df6bfff9-jcnwc_23e368b2-0df8-49bd-b7d9-9af96a57626a # ls -ltr
total 0
drwxr-xr-x 2 root root 32 august 29 05:02 myapp
/var/log/pods/default_myapp-77df6bfff9-jcnwc_23e368b2-0df8-49bd-b7d9-9af96a57626a # cd myapp/
/var/log/pods/default_myapp-77df6bfff9-jcnwc_23e368b2-0df8-49bd-b7d9-9af96a57626a/myapp # ls -ltr
total 772
-rw-r----- 1 rădăcină rădăcină 2974 29 august 05:02 2.log
-rw-r----- 1 rădăcină rădăcină 729669 29 august 23:49 3.log
/var/log/pods/default_myapp-77df6bfff9-jcnwc_23e368b2-0df8-49bd-b7d9-9af96a57626a/myapp
După cum puteți vedea fișierele jurnal adică 2.log, 3.log
nu are permisiunea de citire pentru alții.
Acesta este moștenit de la gazda pe care sunt create fișierele.Prin urmare, pare să fie o problemă cu permisiunile stabilite de driverul de înregistrare Docker la crearea fișierelor.
Aș dori să știu cum să activez permisiunea de citire pentru fișierele create de containere.
Apreciez dacă ați putea ajuta.