我无意中删除了minikube设置中的所有服务,包括默认命名空间中的"kubernetes"服务。
但几秒钟后,我注意到"kubernetes"服务又自动创建了。如果我理解正确的话,部署中的复制副本只负责pod,对吧?我想知道这个"kubernetes"服务是如何自动创建的,毕竟这个服务有什么用。
$ kubectl get svc -owide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 13m <none>
$ kubectl delete svc kubernetes
service "kubernetes" deleted
$ kubectl get svc -owide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 3s <none>
有没有一种方法可以为我们自己的服务实现相同的功能?
例如,每当它被删除时,都应该自动重新创建它。
Kubernetes API服务器将重新创建该服务。您可以在删除该服务后立即查看KubernetesAPI服务器日志中的下一行。
Resetting endpoints for master service "kubernetes" to
当您想要使用服务帐户从pods与Kubernetes API服务器交互时,将使用此服务。
检查源代码。