1

我有一个像下面这样的服务(CusterIP),它暴露了后端 POD 的端口。

apiVersion: v1
kind: Service
metadata:
  name: fsimulator
  namespace: myns
spec:
  type: ClusterIP
  selector:
    application: oms
  ports:
    - name: s-port
      port: 9780
    - name: b-port
      port: 8780

前端 POD 应该能够使用服务连接到后端 POD。我们应该用服务名称替换主机名以从 Frontend POD 连接到 Backend POD 吗?

我必须通过环境变量将服务名称和端口提供给 Frontend POD 容器。使用 configMap 设置环境变量。

将服务名称 fsimulator 作为主机名来连接就足够了吗?如果在命名空间内创建,如何提供服务?

谢谢

4

1 回答 1

1

查看此文档默认情况下,活动服务的内部服务端口/IP 对确实传递到容器中。

正如文档中所说,可以(推荐)使用 DNS 集群插件进行服务发现。从服务外部/内部访问service.namespace将解析为正确的服务路由(或仅从service命名空间内部)。这通常是正确的选择。

内置服务发现是使用 Kubernetes 的一大好处,尽可能使用可用的工具!

于 2019-03-12T21:20:55.370 回答