运行时: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
3条答案
按热度按时间zvms9eto1#
AFAIK默认名称空间中的kubernetes服务是将请求转发到Kubernetes主服务器(通常为kubernetes API服务器)的服务。
因此,从集群发送到kubernetes.default服务的所有请求都将被路由到配置的端点IP。
例如
让我们检查
kubectl describe svc kubernetes
的输出并查看端点IP。现在,让我们检查群集信息
kubectl cluster-info
请注意,kubernetes主服务器与kubernetes.default服务的端点IP运行在同一个IP上。
希望有帮助。
9q78igpj2#
这样,集群中的每个Pod都可以向Kubernetes主机发出API请求,而无需在其中硬编码API URL。您的
~/.kube/config
很可能拥有Kubernetes主机的“外部”地址。但是对于API业务离开集群然后重新进入集群以用于可能共同位于同一节点上的Pod是非常没有意义的。Pod能够使用kubernetes注入的Service Account凭据,除非针对每个Pod禁用该服务帐户功能。应用程序也可以自由地使用该功能,如果它希望--例如--发现其Pod上的任何注解,或者在其Deployment中有多少其他副本,等等。
我猜TL;博士是,90%的Pod不重要,其余10%的是超级方便。
tuwxkamq3#
因此,默认情况下,此kubernetes服务在后端使用kupe-apiserver pod &如果此服务失败,我们将无法与主服务器通信,kubectl命令将无法工作