Где хранятся файлы журналов в кластере K8s, использующем среду выполнения Containerd?

#kubernetes #azure-aks #fluentd #containerd

Вопрос:

Я использую кластер AKS с версией 1.19, и я обнаружил, что эта версия K8s использует Containerd вместо Dockershim в качестве среды выполнения контейнера. Я также использую Fluentd для сбора журналов из своих приложений spring, с версией k8s 1.18 это работает нормально, но с версией k8s 1.19 я не могу собирать журналы из своего приложения spring. Я использую этот файл для своего набора деамонсетов Fluentd. Интересно, если файлы журналов моих приложений не хранятся в контейнерах var/log/, правильно ли это?

Ответ №1:

Я нашел решение здесь: используйте-cri-синтаксический анализатор-для-журналов containerdcri-o

По умолчанию эти изображения используют анализатор json для /var/журнала/контейнеров/ файлов, поскольку docker создает журналы в формате json. С другой стороны, containerd/cri-o используют другой формат журнала. Чтобы анализировать такие журналы, вам нужно вместо этого использовать анализатор cri.

Нам нужно создать новое изображение fluentd с помощью анализатора cri, который работает для меня.