Знания Kind
недостаточно, однако комбинация API Group + API Version + object Kind (GroupVersionKind
) позволит вам использовать информацию, содержащуюся по умолчанию scheme.Scheme
переменная для создания нового объекта.
package main
import (
"fmt"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/kubernetes/scheme"
)
func main() {
// apiVersion's syntax is "group/version" for non-core API groups
// e.g. "apps/v1"
podGvk := schema.FromAPIVersionAndKind("v1", "Pod")
obj, err := scheme.Scheme.New(podGvk) // error handling omitted
fmt.Printf("%T", obj)
/* prints '*v1.Pod' */
}
См. Годок для func (*Scheme) New