6

我们在 AWS 中运行 Kubernetes 集群,并使用 dd-agent DaemonSet 在 DataDog 中收集指标。

我们的指标中显示了一个标记为“no_pod”的 Pod,它使用了大量资源,Memory/CPU/NetworkTx/NetworkRX。

对这个 pod 是什么,我如何找到它、杀死它、重新启动它等有什么解释吗?

我找到了似乎定义“no_pod”标签的 dd-agent源代码,但我无法理解它为什么存在,它来自哪里以及如何通过 kubectl 等找到它。

在此处输入图像描述

4

1 回答 1

4

在与 DataDog 的支持团队交谈后,我设法找到了以下与 no_pod pod 相关的信息。

我们的 Kubernetes 检查是从 Kubernetes API 获取容器列表,它会公开聚合数据。在此处的 metric explorer 配置中,您可以看到几个名为 /docker 和 / 的容器与其他容器一起被拾取。来自 container_name:/ 和 container_name:/docker 的 pod_name:no_pod 指标只是跨多个容器聚合的指标。(因此,这些是图表中的最高值是有道理的。)如果您不希望图表显示这些聚合的容器指标,您可以克隆仪表板,然后从查询中排除这些 pod。为此,在克隆的仪表板上,只需在 JSON 选项卡中编辑查询,然后在标记范围中添加 !pod_name:no_pod。

因此,这些 pod 似乎是在集群外部运行的 docker 和根级别容器,并且将始终显示,除非您想像我现在所做的那样专门将它们过滤掉。

非常感谢 DataDog 的支持人员为我调查了这个问题,并为我提供了关于 pod 是什么的一个很好的解释,并且基本上确认我可以安全地过滤掉它们而不必担心它们。

于 2017-02-03T12:05:43.317 回答