参考k8s官方的sample-apiserver进行编写(项目地址:GitHub - kubernetes/sample-apiserver: Reference implementation of an apiserver for a custom Kubernetes API.)
说明:网上对于aggregated api的实战性文章非常少,有关这类的文章是在推荐使用apiserver-builder这个工具,但是在学习aggregated api编写的过程中,我觉得这个工具对于代码开发人员不太友好(起码对我这个初学k8s又要进行aggregated api开发的同学),封装的太好了,以至于很难明白其中的实现流程,代码所展现的也不是平时我所理解的web服务的代码结构(很难找到url注册以及handler注册的地方)
场景:
1)编写k8s风格的web服务 & 复用k8s的认证和鉴权;
2)想要实现类似CRD的功能,但是又不想以etcd作为后端存储
通过学习sample-apiserver,可以比较快速的通过运行sample-apiserver来了解aggregated api的运行流程并进行编码
1)编写storage,存储到map[${apiVersion}]map[${resource}]${xxx_storage}中,并注册到gen