Tip: what are the GVK GVR CRD CR  Scheme in Kuberentes Core API
GVK:
- GVK stands for Group Version Kind 
 - Each Kind in K8S has Group and Version. i.e. Kind "Pod" is in Group "core" , Version "v1". Refer to official API doc
 - GVK  is defined to associate Group, Version and Kind
 - Each GVK map to a given root Go type in the package
 - Source code definition is  here 
 
GVR:
- GVR stands for Group Version Resource
 - GVR is a "use" or "instance" of GVK in the K8S API
 - The command "kubectl api-resources"  gives us a list of GVR in the K8S cluster
 
CRD:
- CRD stands for Custom Resource Definition
 - Each CRD is like Kind in K8S, so it also has Group, Version
 - CRD is the extension of the K8S API. Refer to official doc
 - Once it is defined, it acts like GVK in K8S API.
 
CR:
- CR stands for Custom Resource
 - CR is a "use" or "instance" of CRD in the K8S API
 - Once it is instantiated, it acts like GVR in K8S API.
 - The command "kubectl api-resources"  gives us a list including both GVR and CR in the cluster.
 
Scheme:
- The scheme is defined to keep track of a given GO type mapping to a given GVK. 
 - For example, we define   myexample.io/api/v1.mykind{}
 - The scheme is going to map it to the API group we defined in CRD: batchv1.myexample.io/v1
 - {
    kind:  mykind
    apiVersion: batchv1.myexample.io/v1
} 
- Source code definition is here.
 
 
 
 
 
          
      
 
  
 
 
 
 
 
 
 
 
 
 
 
No comments:
Post a Comment