当您运行:时kubectl get svc -n default,您将已经有一个类型为ClusterIP的kubernetes服务。
这项服务的目的是什么?任何参考表示赞赏。
我在Minikube中跑步
xyz:Kubernetes _$ kubectl describe svc/kubernetes
Name: kubernetes
Namespace: default
Labels: component=apiserver
provider=kubernetes
Annotations: <none>
Selector: <none>
Type: ClusterIP
IP: 10.0.0.1
Port: https 443/TCP
TargetPort: 8443/TCP
Endpoints: 10.0.2.15:8443
Session Affinity: ClientIP
Events: <none>
xyz:Kubernetes _$ kubectl cluster-info
Kubernetes master is running at https://192.168.99.100:8443
Run Code Online (Sandbox Code Playgroud)
小智 12
AFAIK 默认命名空间中的 kubernetes 服务是将请求转发到 Kubernetes 主站(通常是 kubernetes API 服务器)的服务。
因此,所有从集群到 kubernetes.default 服务的请求都将路由到配置的 Endpoint IP。在这种情况下,它的 kubernetes 主 IP
例如
让我们检查输出kubectl describe svc kubernetes并查看端点 IP。
现在让我们检查我们的集群信息
kubectl cluster-info
请注意,kubernetes master 运行在与 kubernetes.default 服务的 Endpoints IP 相同的 IP 上。
希望能帮助到你。
这样集群中的每个 Pod 都可以向 Kubernetes master 发出 API 请求,而无需在其中硬编码 API URL。您~/.kube/config很可能拥有 Kubernetes master 的“外部”地址,但是 API 流量离开集群然后重新进入集群以获取可能位于同一节点上的 Pod 的意义不大。Pod 能够使用kubernetes 注入的服务帐户凭据,除非每个 Pod 禁用该服务帐户功能。
您的应用程序也可以自由使用该功能,例如,如果它希望发现其 Pod 上的任何注释,或者其 Deployment 中有多少其他副本,等等。
我想总而言之,对于 90% 的 Pod 来说这并不重要,而对于剩下的 10% 来说则非常方便。
| 归档时间: |
|
| 查看次数: |
1847 次 |
| 最近记录: |