如何访问IP地址&;Kubernetes中另一个节点的节点端口

如何访问IP地址&;Kubernetes中另一个节点的节点端口,kubernetes,service,dns,Kubernetes,Service,Dns,我有一个有两个pod的应用程序,其中一个pod正在接收数据,另一个想要使用它。 我正在尝试单节点Kubernetes设置。 现在: `in pod1` - name: ingest_cfg value: zmq_tcp,0.0.0.0:9000 [where pod1 is publishing on port 9000, even this I want to be dynamically configurable] `in pod2` -

我有一个有两个pod的应用程序,其中一个pod正在接收数据,另一个想要使用它。 我正在尝试单节点Kubernetes设置。 现在:

`in pod1` 
        - name: ingest_cfg
        value: zmq_tcp,0.0.0.0:9000 [where pod1 is publishing on port 9000, even this I want to be dynamically configurable]

`in pod2`
        - name: ingest_cfg
        value: "zmq_tcp,IPadd:pv" [where IPadd should be Ip address where pod 1 is publishing and pv is port number where pod1 has published]
现在,我需要知道如何在代码中配置它。我不想硬编码IP地址和端口。任何指针都会非常有用。 我尝试使用服务名称,但它指向群集IP地址。

我建议您对每个应用程序使用一个。在每个部署的顶部创建一个。然后从数据使用者可以指向kubernetes提供的内部dns服务

假设您的数据摄取服务是:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: ingestion
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9090

您可以使用myservice.default.svc.cluster.local的dns

如果我有一个pod而不是部署,它会不起作用吗?在pod2中,在环境变量中——我应该编写我的服务而不是IPadd:pv?但是这不起作用是的,Pod规范还有一个可选的子域字段,可以用来指定它的子域。例如,名称空间“my namespace”中主机名设置为“foo”、子域设置为“bar”的Pod将具有完全限定域名(FQDN)“foo.bar.my namespace.svc.cluster domain.example”。看到这个了吗