Рейтинг:0

Как включить разрешение на чтение пути монтирования Kubernetes

флаг vn

Я установил FluentD в кластере Kind-Kubernetes на виртуальной машине CentOS, работающей на моем ноутбуке. У меня возникли проблемы с получением FluentD для чтения журналов, поскольку он выдает следующую ошибку.

2021-08-29 08:26:31 +0000 [предупреждение]: #0 [tail_container_logs] /var/log/containers/myapp-77df6bfff9-jcnwc_default_myapp-4d82556157a94e991f011bac956d182e941a122b5flogb3d53fc67df37dfЭто исключено и будет рассмотрено в следующий раз.

Ниже приведен мой файл 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>

В файле развертывания YAML у меня есть следующая конфигурация.

спецификация:
  контейнеры:
  - имя: мой беглый
    изображение: пользовательское беглое
    imagePullPolicy: никогда
    Ресурсы:
      пределы:
        память: 800Ми
    томМаунты:
    - имя: варлог
      путь монтирования: /var/log
    - имя: варлогподс
      путь монтирования: /var/log/pods
      Только для чтения: правда
    - имя: варфлюэнт
      mountPath: /var/fluent/log
  прекращениеGracePeriodSeconds: 30
  тома:
  - имя: варлог
    путь хоста:
      путь: /var/журнал
  - имя: варлогподс
    путь хоста:
      путь: /var/log/pods
  - имя: варфлюэнт
    путь хоста:
      путь: /var/fluent/logs

Я читал в нескольких темах, связанных с подобной проблемой, но ни одна из них, похоже, не решает проблему, с которой я столкнулся.

Когда я просмотрел файлы журналов в /var/лог/контейнеры на модуле FluentD я вижу, что это символическая ссылка на /var/журнал/стручки папка. Вот пример вывода списка каталогов в папке «/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

Глядя на разрешение файла файла журнала в модуле FluentD, я вижу это;

/var/log/pods # ls -ltr
всего 0
drwxr-xr-x 3 root root 28 27 августа 15:29 kube-system_kube-scheduler-kind-control-plane_69dd939498054a211c3461b2a9cc8d26
drwxr-xr-x 3 root root 37 27 августа 15:29 kube-system_kube-controller-manager-kind-control-plane_46dac9a538838115821dfd9559149484
drwxr-xr-x 3 root root 28 27 августа 15:29 kube-system_kube-apiserver-kind-control-plane_bd1c21fe1f0ef615e0b5e41299f1be61
drwxr-xr-x 3 root root 18 27 августа 15:29 kube-system_etcd-kind-control-plane_24ba8551bcc724a32d591bb02c423d92
drwxr-xr-x 3 root root 24 27 августа 15:30 kube-system_kube-proxy-hqdkp_6ea129ba-1b2e-425e-a77b-ad75dacc4cda
drwxr-xr-x 3 root root 25 27 августа 15:30 kube-system_kindnet-dsjr6_32cc1367-ce01-481d-b626-58c00ea9aa6c
drwxr-xr-x 3 root root 36 27 августа 15:30
drwxr-xr-x 3 root root 21 авг 27 15:30 kube-system_coredns-558bd4d5db-lrzf4_6c526c83-f140-4e14-839c-ce00fa275890
drwxr-xr-x 3 root root 21 авг 27 15:30 kube-system_coredns-558bd4d5db-bxp22_5b9836f4-66e0-42e4-a999-2428e910a557
drwxr-xr-x 3 root root 19 27 августа 15:34 default_myapp-77df6bfff9-jcnwc_23e368b2-0df8-49bd-b7d9-9af96a57626a
drwxr-xr-x 3 root root 24 авг 29 23:47 default_my-fluentd-t4bq6_08921212-3c02-478c-83bd-4f9aad37b9cf
/var/журнал/стручки # 
/var/журнал/стручки # 
/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
всего 0
drwxr-xr-x 2 root root 32 авг 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
всего 772
-rw-r----- 1 root root 2974 29 августа 05:02 2.log
-rw-r----- 1 root root 729669 29 августа 23:49 3.log
/var/log/pods/default_myapp-77df6bfff9-jcnwc_23e368b2-0df8-49bd-b7d9-9af96a57626a/myapp

Как вы можете видеть файлы журнала то есть 2.лог, 3.лог не имеет разрешения на чтение для других.

Это наследуется от хоста, на котором создаются файлы.Поэтому кажется, что это проблема с разрешениями, установленными драйвером ведения журнала Docker при создании файлов.

Я хотел бы знать, как включить разрешение на чтение для файлов, созданных контейнерами. Цените, если вы могли бы помочь.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.