首页 > 解决方案 > Kubernetes - 在两个容器之间以及与外界进行通信的最佳方式

问题描述

我有两个 Kubernetes 开发:一个带有 Grafana pod,另一个带有 InfluxDB pod。

我想:

1) 将我的 Grafana:3000 暴露给外界

2) Grafana 能够连接到 InfluxDB:8086

我已经看到它使用两个单独的“服务”完成:一个 Grafana 服务(类型 = NodePort,目标端口 = 3000)和一个 InfluxDB 服务(类型 = ClusterIP,目标端口 = 8086)。

它工作正常。然而,可以/应该只用一项“服务”来完成吗?

标签: kuberneteskubernetes-service

解决方案


对于南北流量,即在集群之外公开服务 LoadBalancer 或最好是入口比 NodePort 更好,因为当使用 NodePort 时,如果节点 IP 或端口发生变化,那么客户端需要在他们用来访问服务的端点中进行更改。

对于集群内服务之间的东西向流量,clusterIP 服务已经足够好了。


推荐阅读