我不小心删除了Kubernetes服务器:
service "kubernetes" deleted
使用:
kubectl delete svc --all
我该怎么办?我只是想删除服务,这样我就可以启动新的服务了。
5f0d552i1#
先讲一点理论;)每当您删除kubernetes svc时,您也会删除端点,这就是Reconciler的作用。它实际上是核心引导Kubernetes控制器循环的控制器管理器,用于管理创建"kubernetes"服务、"default"、"kube-system"和"kube-public"名称空间,并提供服务IP上的IP修复检查。因此,在运行正常的群集中,Controller Manager应自动重新创建default. kubernetes服务。如果不是,我建议:检查api服务器日志
kubectl logs -f kube-apiserver-master -n kube-system
您应看到类似以下内容:
Resetting endpoints for master service "kubernetes" to [10.156.0.3]
如果没有看到,请尝试手动删除此服务的etcd密钥因为集群的当前状态存储在etcd中,所以当您删除服务时,密钥可能会保留下来:a.执行到etcd-主pod
kubectl exec -it etcd-master -n kube-system sh
b.获取etcd密钥值
ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --key=/etc/kubernetes/pki/etcd/server.key --cert=/etc/kubernetes/pki/etcd/server.crt get /registry/services/endpoints/default/kubernetes
c.如果你得到的值是:
v1 Endpointst O kubernetesdefault"*$eafc04cf-90f3-11e9-a75e-42010a9c00032����z! 10.156.0.3 https�2TCP"
只需将其删除
ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --key=/etc/kubernetes/pki/etcd/server.key --cert=/etc/kubernetes/pki/etcd/server.crt rm /registry/services/endpoints/default/kubernetes
完成后,再次检查api服务器日志。
mctunoxg2#
ubuntu@master:~$ kubectl delete all --所有服务“kubernetes”已删除ubuntu@master:~$ kubectl get svc命令“kubernetes”未找到,但可以使用以下命令安装:sudo apt install kubernetes ubuntu@master:~$ sudo apt install kubernetes运行了安装程序,它被恢复了。
2条答案
按热度按时间5f0d552i1#
先讲一点理论;)每当您删除kubernetes svc时,您也会删除端点,这就是Reconciler的作用。它实际上是核心引导Kubernetes控制器循环的控制器管理器,用于管理创建"kubernetes"服务、"default"、"kube-system"和"kube-public"名称空间,并提供服务IP上的IP修复检查。
因此,在运行正常的群集中,Controller Manager应自动重新创建default. kubernetes服务。
如果不是,我建议:
检查api服务器日志
您应看到类似以下内容:
如果没有看到,请尝试手动删除此服务的etcd密钥
因为集群的当前状态存储在etcd中,所以当您删除服务时,密钥可能会保留下来:
a.执行到etcd-主pod
b.获取etcd密钥值
c.如果你得到的值是:
只需将其删除
完成后,再次检查api服务器日志。
mctunoxg2#
ubuntu@master:~$ kubectl delete all --所有服务“kubernetes”已删除ubuntu@master:~$ kubectl get svc命令“kubernetes”未找到,但可以使用以下命令安装:sudo apt install kubernetes ubuntu@master:~$ sudo apt install kubernetes运行了安装程序,它被恢复了。