作者: Min Kim(Github:yue9944882),Kubernetes社区CRD维护者,蚂蚁金服高级研发工程师。Kubernetes 1.16扩展性GA Sprint迭代组成员,主要负责CRD OpenAPI聚合发布相关特性。
随着近段时间以CRD(CustomResourceDefinition)的形式扩展Kubernetes火爆起来,在开源社区涌现了许许多多用CRD作为平台构建应用的成功开源项目。整个社区对CRD的积极拥抱其实是远在维护者们的期望之外的。然而经过5个release的洗礼,CRD从最开始的实验性项目渐渐变得清晰了起来,社区对CRD模型提出的许许多多建议或者挑战,将在本次1.16的版本得到完整的解决和回应。CRD的GA计划从1.14版本开始斩露萌芽到Kubenretes 1.16全力冲刺的研发周期中,主要过程是来自谷歌和红帽的工程师在执行,还有少数的社区志愿者。
通过本篇文章,作者将通过梳理CRD的GA进化中的主要革新点,同时结合CRD面临的问题/缺陷进而推导出其中的联系/因果,在最后还会对CRD未来面临的问题和挑战进行分析。希望读者可以通过本篇文章对CRD的正负面有个立体的认识,也借此抛砖引玉提出如何在复杂场景下强化使用CRD的未来议题。
GA版本CRD主要带来的革新
总览
大的方向上,一言蔽之CRD模型的进化之路是支持所承载的用户资源(CR)可持续演进发展之路,其中