programming-kubernetes-part2
Contents
0x001 基本概念
Kind: 仅仅一个struct field, go type name, 通常大写,例如Podresource: 资源, 通常小写podsApiGroup: 对kind逻辑上的划分,相似功能的group划分一个组, 但是需要注意的是一个kind可能存在在多个group里面ApiVersion: 版本, 在k8s用户层面来讲一个资源的不通版本只是不同形态的展示,本质上还是同样存储在etcd里面的一个object,只是展示的方式不一样(有些字段的差异), 一个apigroup可能存在多个版本里面GroupVersionKind(GVK): 因为一个kind可能存在于多个group里面,而一个group又可能同时存在多个版本里面,因此仅仅一个kind还无法唯一定位一个资源类型,唯一定义一个具体资源就需要指定APIgroup,和apiversion,来指定这个kind具体是哪个版本哪个APIgroup里面的kind。一个GVK对应一个go structGroupVersionResource(GVR)c