AKS 日志格式已更改

AKS log format changed

我们最近将我们的 AKS 集群从 1.17.x 更新为 1.19.x 并发现 /var/lib/docker/containers 中自定义应用程序日志的格式发生了变化。

更新前是这样的:

之后看起来像这样:

我可以在更新日志中找到一些注释,指出 kubernetes 从纯文本日志更改为结构化日志(用于系统组件),但我看不出这与我们的日志格式更改有何关联。

https://kubernetes.io/blog/2020/09/04/kubernetes-1-19-introducing-structured-logs/#:~:text=In%20Kubernetes%201.19%2C%20we%20are,migrated%20to%20the%20structured%20format

https://kubernetes.io/docs/concepts/cluster-administration/system-logs/

在 AKS > 1.19.x 中,是否仍有机会获得有效的 json 日志到 /var/lib/docker/containers?19.x?

背景: 我们将应用程序日志发送到 Splunk,不使用 Azure 堆栈进行日志分析。我们的 Splunk 设置现在无法解析新的日志格式。

日志的格式由容器运行时定义。之前好像是从 docker container runtime 解析日志,现在是 containerd (https://azure.microsoft.com/en-us/updates/azure-kubernetes-service-aks-support-for-containerd-runtime-is-in-preview/).

根据文章 - 您仍然可以选择 moby(docker)作为容器运行时。

要从您的肩上做到这一点,您应该考虑使用其中之一(考虑到它们会自动为您检测日志格式和容器运行时)。