2017-10-12 53 views
0

使用APIService資源我在我的核心API服務器上註冊了附加API服務器。現在,無論出於何種原因,這個附加API服務器都沒有響應。問題是,kubectl的工作原理是獲取有關運行kubectl get --raw "/apis"時可以看到的所有組的所有版本的信息,其中包括我的無響應APIService,因此只要鍵入與API服務器聯繫的任何命令並且我無法再管理我的簇。如何刪除Kubernetes中無響應的附加API服務器

有沒有一種處理這種情況的好方法?

回答

1

所有Kubernetes對象的數據存儲在etcd後端。只需從那裏刪除無響應APIService

你可以找到它在ETCD版本3的方式如下:

$ ETCDCTL_API=3 etcdctl --endpoints=<etcd_ip>:2379 get/--prefix --keys-only | grep -i apiservice 
/registry/apiregistration.k8s.io/apiservices/v1. 
/registry/apiregistration.k8s.io/apiservices/v1.authentication.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1.authorization.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1.autoscaling 
/registry/apiregistration.k8s.io/apiservices/v1.batch 
/registry/apiregistration.k8s.io/apiservices/v1.crd.projectcalico.org 
/registry/apiregistration.k8s.io/apiservices/v1.networking.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1.storage.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1alpha1.monitoring.coreos.com 
/registry/apiregistration.k8s.io/apiservices/v1alpha1.rbac.authorization.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1alpha1.settings.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1beta1.apiextensions.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1beta1.apps 
/registry/apiregistration.k8s.io/apiservices/v1beta1.authentication.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1beta1.authorization.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1beta1.certificates.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1beta1.extensions 
/registry/apiregistration.k8s.io/apiservices/v1beta1.policy 
/registry/apiregistration.k8s.io/apiservices/v1beta1.rbac.authorization.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1beta1.storage.k8s.io 
/registry/apiregistration.k8s.io/apiservices/v1beta1.voyager.appscode.com 
/registry/apiregistration.k8s.io/apiservices/v2alpha1.batch 

而在此之後將其刪除:

ETCDCTL_API=3 etcdctl --endpoints=10.128.10.11:2379 del <path> 
+0

我結束了使用'kubectl proxy'和'捲曲-X DELETE HTTP :// localhost:8001/path/to/apiservice/resource'但是你的方法非常酷 – dippynark

相關問題