我有一个装有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>
答案 0 :(得分:1)
Kubernetes具有内置的DNS,该DNS自动注册服务,从而产生易于使用的DNS地址,如下所示:http:// {servicename}。{namespace}:{servicePort}
如果您使用相同的名称空间,则可以省略名称空间部分,并且如果您的服务在端口80上侦听,则该部分也可以省略。
如果您需要更多信息,以下文档将为您提供帮助:DNS for Services and Pods