首页 > 解决方案 > 外部 SNMP 管理器无法访问 k8s 上的 snmp 客户端

问题描述

我需要设置在 Kubernetes pod 上运行的 SNMP 客户端,我需要将陷阱发送到不基于 Kubernetes 的 SNMP 警报管理器。现在,有两个问题:

  1. SNMP 陷阱客户端使用源 IP 发送警报,如果我有多个客户端,那么它们将从相同的源 IP 即工作节点 IP 到达 SNMP 警报管理器。

  2. SNMP 警报管理器根据设计每 2 分钟向工作节点 IP 发送一次陷阱,并且由于工作节点上没有运行 SNMP 客户端而导致心跳失败。由于 SNMP 客户端在 POD 上运行,并且为了到达入口中的 pod,我们需要负载均衡器 IP。

现在,如果我们可以将源 IP 设置为负载均衡器 IP,以便 SNMP 警报管理器从相同的 IP 获取陷阱并将获取发送到相同的负载均衡器 IP,那么问题就已经解决了。

期待您的建议。

标签: networkingkubernetessnmpkubernetes-ingresskubernetes-pod

解决方案


如果您运行您的 pod hostNetwork(在您的 pod 模板中设置该字段hostNetwork: true),那么您的 pod 和工作节点 IP 将是相同的。这将解决 SNMP 警报管理器的回复丢失的问题。

如果您想运行多个 SNMP 客户端,那么您可以在不同的工作节点上运行它们,hostNetwork并且它们都将具有不同的 IP 地址。


推荐阅读