从Pod访问服务IP

时间:2018-07-30 07:27:07

标签: kubernetes

我有一个装有mysql的吊舱,并提供从外部进行访问的服务。因此,我可以从另一台计算机通过192.168.1.29:3306连接到我的数据库。

但是如何从同一群集(同一节点)中的另一个Pod连接?

这是我的服务描述:

Name:                     etl-mysql
Namespace:                default
Labels:                   run=etl-mysql
Annotations:              field.cattle.io/publicEndpoints=[{"addresses":["192.168.1.20"],"port":31211,"protocol":"TCP","serviceName":"default:etl-mysql","allNodes":true}]
                          kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"run":"etl-mysql"},"name":"etl-mysql","namespace":"default"},"spec":{"extern...
Selector:                 run=etl-mysql
Type:                     NodePort
IP:                       10.43.44.58
External IPs:             192.168.1.29
Port:                     etl-mysql-port  3306/TCP
TargetPort:               3306/TCP
NodePort:                 etl-mysql-port  31211/TCP
Endpoints:                10.42.1.87:3306
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none> 

1 个答案:

答案 0 :(得分:1)

Kubernetes具有内置的DNS,该DNS自动注册服务,从而产生易于使用的DNS地址,如下所示:http:// {servicename}。{namespace}:{servicePort}

如果您使用相同的名称空间,则可以省略名称空间部分,并且如果您的服务在端口80上侦听,则该部分也可以省略。

如果您需要更多信息,以下文档将为您提供帮助:DNS for Services and Pods