为了解决 EKS 集群中默认的 AWS VPC CNI 最大 Pod 数量节点限制(最大 Pod 数 = 实例类型支持的最大网络接口(*(每个接口的 IPv4 地址( - 即 t3.medium 中的 17 个(,我开始使用 Weave CNI 插件来克服该限制。
这带来了一个警告,如果你有一个应用程序或容器在覆盖网络中运行,并且 Kubernetes 主节点/API 需要与之通信,它将不起作用。例如,ApiServicev1beta1.metrics.k8s.io
尝试连接到覆盖网络中运行的metrics-server
Pod,但不会成功。 建议的解决方案是使用hostNetwork: true
运行metrics-server
,效果很好。
我的问题始于我们决定与prometheus-adapter
进行custom-metrics
,以便我们可以从 Kafka 使用者组滞后指标用于使用者 Pod 的水平自动缩放。 要让 ApiServicev1beta1.custom.metrics.k8s.io
与 pod 对话prometheus-adapter
我们还必须设置hostNetwork: true
但这次prometheus-adapter
无法访问在覆盖网络中运行的 Prometheus - 我们不能将所有内容移动到主机网络!
我在这里有点死胡同。我想我可以使用一些"工具"将我需要的指标从覆盖网络普罗米修斯转发到主机网络中的另一个普罗米修斯,然后由普罗米修斯适配器使用?
问题解决了。我正在测试与telnet的连接,但不知何故wget工作得很好。