Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';默认kubernetes服务的目的是什么?_Kubernetes - Fatal编程技术网

什么';默认kubernetes服务的目的是什么?

什么';默认kubernetes服务的目的是什么?,kubernetes,Kubernetes,当您运行:kubectl get svc-n default时,您将拥有一个类型为ClusterIP的kubernetes服务 这项服务的目的是什么?任何推荐信,不胜感激 我在Minikube跑步 xyz:Kubernetes _$ kubectl describe svc/kubernetes Name: kubernetes Namespace: default Labels: component=apiserver

当您运行:
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
xyz:Kubernetes\u$kubectl描述svc/Kubernetes
姓名:kubernetes
名称空间:默认值
标签:组件=apiserver
提供者=kubernetes
注释:
选择器:
类型:集群
IP:10.0.0.1
端口:https 443/TCP
目标端口:8443/TCP
终点:10.0.2.15:8443
会话关联:ClientIP
活动:
xyz:Kubernetes_u$kubectl集群信息
Kubernetes大师正在跑步https://192.168.99.100:8443

这样,集群中的每个Pod都可以向Kubernetes主机发出API请求,而无需硬编码其中的API URL。您的
~/.kube/config
很可能具有Kubernetes主机的“外部”地址,但是API通信离开集群,然后重新进入集群以获得可能位于同一节点上的Pod,这没有什么意义。Pod能够使用kubernetes注入的凭据,除非每个Pod禁用该服务帐户功能

如果您的应用程序希望(例如)发现其Pod上的任何注释,或者在其部署中有多少其他副本,等等,那么您的应用程序也可以自由地使用该功能


我猜是tl;dr表示,对于90%的POD来说,这无关紧要,而对于其余10%的POD来说,这非常方便。

AFAIK默认名称空间中的kubernetes服务是一种将请求转发给kubernetes主机(通常是kubernetes API服务器)的服务

因此,从集群到kubernetes.default服务的所有请求都将路由到配置的端点IP。在这个场景中,是kubernetes主IP

比如说

让我们检查
kubectl description svc kubernetes
的输出,并查看端点IP

现在让我们检查一下集群信息

kubectl集群信息

请注意,kubernetes主机与kubernetes.default服务的端点IP在同一IP上运行


希望有帮助。

因此,默认情况下,此kubernetes服务在后端使用kupe apiserver pod&如果出现这种情况,我们将无法与master通信,kubectl commnds将无法工作。

API服务器不是群集中的pod。就像我们使用下面的命令“kubectl get pods”一样,我们没有看到任何名为Kubernetes的pods。如果我错了,请纠正我谢谢,Karthik。我的和你的有点不同,因为我在Minikube运行它。神秘的端点是10.0.2.15。它需要指向API服务器。它是如何做到这一点的?嗨,苏雷什,是的,你是对的,不会有任何名为
kubernetes
的吊舱。因此,服务不必将请求转发到pod,它还可以将请求转发到远程url。这与kubernetes服务在默认名称空间中所做的相同。它将请求转发给kubernetes主机。如果您在本地主机上运行(例如minikube或docker for mac),您可以使用
kubectl Descripte node/docker for desktop
查看和比较ip for instanceThanks,Matthew。如有必要,POD使用默认ServiceAccount与APIServer通信。