Definition of terms: API Object - This is anything that a Kubernetes cluster would know about, examples are Pods, Deployments, Services, DeploymentLists. It can be extended by Custom Resource Definitions (CRDs) GroupVersionKind (GVK) - This is the identifier of an API Object. eg Core/V1/Pod GroupVersionResource (GVR) - This is an identifier for one particular GVK pods.core.v1 Schema - This is an object that understands how to translate a Go struct into the GroupVersionKind for the API object that struct represents and back. This is used in the encoding and decoding process.
When you use Kubernetes types in a go program you will import somthing like "k8s.io/apimachinery/pkg/apis/core/v1"
. In that package it will have something to register that API's known types. This SchemaBuilder, and the schemas from other types are used by the kubernetes client (and th