如何使服务可以通过kubernetes中主服务器上运行的服务代理进行访问

时间:2015-09-18 03:30:32

标签: kubernetes

如何使服务可以通过kubernetes中主服务器上运行的服务代理进行访问? 比如kube-ui或fluentd-elasticsearch的服务。可以访问网址:http://[masterIP:post]/api/v1/proxy/namespaces/kube-system/services/kube-ui/

当我在名为myweb的测试命名空间中创建服务时,我无法访问http://[masterIP:post]/api/v1/proxy/namespaces/test/services/myweb

那怎么办?

1 个答案:

答案 0 :(得分:0)

如果您尝试从群集中运行的pod访问它,则最好直接访问该服务。使用群集中的DNS可以使用服务。如果您的pod与服务位于同一名称空间中,您应该只需使用其名称即可访问它,例如在这种情况下,myweb。如果你的pod在不同的命名空间中,你可以在pod-name.namespace命中它,例如在这种情况下myweb.test

如果您尝试从群集外部访问它,那么您不应该做任何与默认服务不同的事情。如果您无法以相同的方式访问它,则可能是您的服务没有任何支持它的pod,或者这些pod无法正常工作。您可以使用kubectl get endpoints myweb --namespace=test检查哪些广告连播正在支持您的服务。如果该项为空,那么您应确保已安排用于实施该服务的广告连播,如果是,则表明其标签是正确的。

您可能会发现documentation on services有用。