我有一个包含以下内容的 Kubernetes 集群:
- 一些演示 Web 服务器的部署
- 公开此部署 pod 的 ClusterIP 服务
现在,我有了服务的集群 IP:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5d3h
svc-clusterip ClusterIP 10.98.148.55 <none> 80/TCP 16m
现在我可以看到我可以从主机(!)访问此服务 - 而不是在 Pod 或任何东西中:
$ curl 10.98.148.55
Hello world ! Version 1
问题是我不确定此功能是否是 ClusterIP 服务定义的一部分 - 即,无论我使用什么网络插件,它是否都能保证以这种方式工作,或者这个插件依赖于插件。
Kubernetes文档指出:
ClusterIP:在集群内部 IP 上公开服务。选择此值使服务只能从集群内访问。这是默认的服务类型
目前尚不清楚“集群内”是什么意思——这是否意味着集群中的容器(pod)内?甚至像上面的例子一样从节点本身?