如何从同一集群中的另一个节点访问kubernetes节点上的服务?

时间:2019-01-15 13:43:56

标签: kubernetes kubernetes-helm kubernetes-service

我的服务描述:

kubernetes describe service app-checklot --namespace=app-test-gl

Name:              app-checklot
Namespace:         app-test-gl
Labels:            app=app-checklot
                   chart=app-checklot-0.1.0
                   heritage=Tiller
                   release=chkl
Annotations:       <none>
Selector:          app=app-checklot,release=chkl
Type:              ClusterIP
IP:                10.99.252.76
Port:              https  11080/TCP
TargetPort:        11080/TCP
Endpoints:         85.101.213.102:11080,85.101.213.103:11080
Session Affinity:  None
Events:            <none>

我可以使用各个IP分别访问Pod:

http://85.101.213.102:11080/service
http://85.101.213.103:11080/service

还使用IP的服务(这需要通过URL从另一个节点进行配置):

http://10.99.252.76:11080/service

我想要的是使用url中的服务名称访问该服务(应用检查窗口)-这样我就不必总是更新url了。这可能吗?如果可以,怎么办?

2 个答案:

答案 0 :(得分:2)

来自Documentation

  

例如,如果您在Kubernetes中有一个名为“ my-service ”的Service   Namespace称为“ my-ns ”,“ my-service.my-ns ”的DNS记录是   创建。存在于“ my-ns ”命名空间中的Pods应该能够   只需对“ my-service ”进行名称查找即可找到它。 Pods其中   其他Namespaces中存在的名称必须将名称限定为“ my-service.my-ns ”。   这些名称查找的结果是群集IP。

部署到相同名称空间的另一项服务将能够调用http://app-checklot/service

答案 1 :(得分:1)

是的,在群集中,您的服务应该位于:

http://app-checklot.app-test-gl:11080/service