如何删除Kubernetes中的API资源?

Mud*_*its 7 kubernetes

我跑:

kubectl api-resources | grep "External"
externalmetrics                                     metrics.aws                    true         ExternalMetric
Run Code Online (Sandbox Code Playgroud)

我想删除这个metrics.awsAPI资源,但我什至不知道它是如何部署的。我怎样才能安全地删除它?

Sai*_*nti 13

  • 如果它不是标准资源,那么它可能会被实现为“客户资源定义(crds)”
kubectl get crds | grep externalmetrics 
Run Code Online (Sandbox Code Playgroud)
  • 检查此 crd 下是否创建了任何自定义资源,如果有则将其删除:
kubectl get externalmetrics
kubectl delete externalmetrics --all 
Run Code Online (Sandbox Code Playgroud)
  • 然后删除该CRD
kubectl delete crd externalmetrics
Run Code Online (Sandbox Code Playgroud)
  • 检查它是否从 api-resources 列表中消失
kubectl get api-resources
Run Code Online (Sandbox Code Playgroud)

更新:

如果您看到error: the server doesn't have a resource type "v1beta1"错误,请运行以下命令将其删除:

kubectl delete apiservice v1beta1.metrics.k8s.io
Run Code Online (Sandbox Code Playgroud)