是否可以使用客户端 go 删除具有特定标签的所有资源?client-go 的版本是 0.17.3我在客户端看到每种资源类型都有一个字段,但它们有不同的接口。type Clientset struct { *discovery.DiscoveryClient admissionregistrationV1alpha1 *admissionregistrationv1alpha1.AdmissionregistrationV1alpha1Client admissionregistrationV1beta1 *admissionregistrationv1beta1.AdmissionregistrationV1beta1Client appsV1beta1 *appsv1beta1.AppsV1beta1Client appsV1beta2 *appsv1beta2.AppsV1beta2Client appsV1 *appsv1.AppsV1Client auditregistrationV1alpha1 *auditregistrationv1alpha1.AuditregistrationV1alpha1Client authenticationV1 *authenticationv1.AuthenticationV1Client authenticationV1beta1 *authenticationv1beta1.AuthenticationV1beta1Client authorizationV1 *authorizationv1.AuthorizationV1Client authorizationV1beta1 *authorizationv1beta1.AuthorizationV1beta1Client autoscalingV1 *autoscalingv1.AutoscalingV1Client autoscalingV2beta1 *autoscalingv2beta1.AutoscalingV2beta1Client autoscalingV2beta2 *autoscalingv2beta2.AutoscalingV2beta2Client batchV1 *batchv1.BatchV1Client batchV1beta1 *batchv1beta1.BatchV1beta1Client}是否有可能做这样的事情(从这里得到):kubectl delete "$(kubectl api-resources --verbs=delete -o name | tr "\n" "," | sed -e 's/,$//')" --all但是使用客户端去?
1 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
是的,可以使用 client-go 自己做 kubectl 所做的任何事情。毕竟,kubectl 使用的是 client-go 本身。
您可以查看kubectl 源代码以了解它是如何执行以下操作的:
获取支持删除动词的 api 资源列表。有关如何执行此操作,请参阅api-resources 命令实现。
对于找到的每个资源,获取具有您要查找的标签和值的对象列表。查看kubectl 的 get 命令实现以了解如何执行此操作
删除符合条件的每个对象。请参阅kubectl 的删除命令实现。
- 1 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消