#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, который работает для меня.