节点组之间的 AWS EKS 通信

AWS EKS Communication Between Node Groups

我有一个带有单个节点组(3 个节点)的 EKS 集群,目前只有 运行 Jenkins4。

我想开始将此 EKS 集群用于其他用途,但想将部署分离到特定的节点组中。

例如,我想创建一个 'monitoring' 节点组,我将在其中部署 prometheus 和 grafana。我还想要另一个更大的节点组来部署应用程序。

我知道我可以在 EKS 中创建第二个节点组并用 'monitoring' 标记它,这样我就可以使用 nodeSelector 部署到正确的节点组。

我的问题是我是否需要考虑节点组之间的联网。例如,对于普罗米修斯来说,能够从其他节点组的 pods 上的导出器 运行 中抓取。

这是某种入口规则所必需的吗?还是不需要。如果需要,实现它的正确方法是什么?

只要节点在同一个集群中并且属于同一个主节点,并且没有自定义网络策略阻止节点组相互访问,您就应该能够依赖 ClusterIPs。

我更关心的是为什么您应该更喜欢使用专用节点组来分离任务。是因为特殊要求吗?只要您的集群中有可用资源,我就会利用现有节点并在专用命名空间中部署 Kubernetes 资源(deployments/services/etc..),在您的情况下,这种分离看起来最适合我。然后,在您需要更多马力时,即使使用不同的硬件、特定标签和 NodeAffinity(而不是 NodeSelector,以实现更好的定制),您也可以水平扩展您的集群。

希望我有所帮助。