默认的kubernetes服务的用途是什么?

fumotvh3  于 2023-02-18  发布在  Kubernetes
关注(0)|答案(3)|浏览(123)

运行时: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
zvms9eto

zvms9eto1#

AFAIK默认名称空间中的kubernetes服务是将请求转发到Kubernetes主服务器(通常为kubernetes API服务器)的服务。
因此,从集群发送到kubernetes.default服务的所有请求都将被路由到配置的端点IP。
例如
让我们检查kubectl describe svc kubernetes的输出并查看端点IP。

现在,让我们检查群集信息
kubectl cluster-info

请注意,kubernetes主服务器与kubernetes.default服务的端点IP运行在同一个IP上。
希望有帮助。

9q78igpj

9q78igpj2#

这样,集群中的每个Pod都可以向Kubernetes主机发出API请求,而无需在其中硬编码API URL。您的~/.kube/config很可能拥有Kubernetes主机的“外部”地址。但是对于API业务离开集群然后重新进入集群以用于可能共同位于同一节点上的Pod是非常没有意义的。Pod能够使用kubernetes注入的Service Account凭据,除非针对每个Pod禁用该服务帐户功能。
应用程序也可以自由地使用该功能,如果它希望--例如--发现其Pod上的任何注解,或者在其Deployment中有多少其他副本,等等。
我猜TL;博士是,90%的Pod不重要,其余10%的是超级方便。

tuwxkamq

tuwxkamq3#

因此,默认情况下,此kubernetes服务在后端使用kupe-apiserver pod &如果此服务失败,我们将无法与主服务器通信,kubectl命令将无法工作

相关问题