|
- package tool
-
- import (
- "k8s.io/apimachinery/pkg/runtime/schema"
- "k8s.io/client-go/kubernetes"
- "k8s.io/client-go/restmapper"
- )
-
- // GetGVR 获取GVR
- func GetGVR(clientSet *kubernetes.Clientset, gvk schema.GroupVersionKind) (schema.GroupVersionResource, error) {
- gr, err := restmapper.GetAPIGroupResources(clientSet)
- if err != nil {
- return schema.GroupVersionResource{}, err
- }
-
- mapper := restmapper.NewDiscoveryRESTMapper(gr)
-
- mapping, err := mapper.RESTMapping(gvk.GroupKind(), gvk.Version)
- if err != nil {
- return schema.GroupVersionResource{}, err
- }
-
- return mapping.Resource, nil
- }
|