理解
内部版本与外部版本
路径信息
- 内部版本路径
pkg/api/<group>/,如 Deploy 所在 Group 为 apps,内部版本路径为pkg/api/apps/
- 外部版本
vendor/k8s.io/api/<group>/<version>/,如 Deploy 所在 Group 为 apps,外部 v1 版本路径为vendor/k8s.io/api/apps/v1/staging/src/k8s.io/api/<group>/<version>/,如 Deploy 所在 Group 为 apps,外部 v1 版本路径为staging/src/k8s.io/api/apps/v1/- 上面两个路径对应的文件是【同一份】,因为是【软链接】
区别与作用
-
内部版本
- 不对外暴露, 仅在Kubernetes API Server内部使用
- 用于多资源版本的转换,例如将v1beta1版本转
本文深入探讨Kubernetes资源的内部版本(internal)和外部版本(如v1)的区别和作用。内部版本仅用于API Server内部转换,如v1beta1→internal→v1,而外部版本面向用户接口。资源代码结构中,内部版本无JSONTags,外部版本用于序列化。转换、默认值填充和Schema注册在不同的go文件中实现。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



