从 2013年 Pivotal公司的 MattStine 提出云原生概念,到 2015年 Google、RedHat等公司牵头成立 CNCF,云原生领域蓬勃发展。云原生架构在公有云、私有云和混合云等环境中构建及运行可弹性扩展的应用方面具有优势;它也能构建具备良好容错性、易于管理和便于观测的松耦合系统,十分契合现代企业数字化转型和发展的需求。
Kubernetes(k8s)作为云原生应用编排的事实标准,已成为云原生开源技术生态的核心,越来越多、越来越复杂的系统开始构建在 Kubernetes上。为了统一这些系统的开发模式,并使其遵循 Kubernetes的理念,Operator模式应运而生。Operator被用来创建、配置和管理复杂的应用,能极大地扩展 Kubernetes的能力。为方便开发者和用户查找、分享和使用Operator资源,RedHat联合AWS、Google、Microsoft等公司推出了 OperatorHub网站,已累积了诸多 Operator资源。如今,Operator模式已广泛应用在各个领域,如数据库、边缘计算、机器学习等。
2015年, 中国移动云能力中心开始接触和使用 Kubernetes, 经历了从起初基于Kubernetes构建 PaaS平台,到如今采用 Operator 模式构建移动云服务的过程。当前,越来越多的产品与场景有应用Operator模式的需求。因此,我们总结了 Operator模式的相关原理、开发流程以及开发过程中需要使用的工具,希望能够帮助有需求的读者快速学习。
本书内容
本书共 4章,完整地介绍了Operator的开发原理和流程,首先介绍云原生及Operator的发展历史和相关技术;然后介绍了Operator原理、Operator开发的相关模块,如Kube- APIServer和 Client-go,以及目前应用最广泛的 Operator开发框架 Kubebuilder的原理;最后以实际的项目为例,完整地阐述如何开发一个 Operator。
关千勘误
由于作者写作时间和水平有限,书中难免存在纰漏和错误之处,敬请广大读者批评指正。读者可通过邮箱syiaas@cmss.chinamobile.com联系我们,非常感谢!
致 谢
本书的编写过程中,中国移动云能力中心的领导和同事们给予了大力支持,他们在百忙之中仍给予我们充分的包容与理解。在此特别感谢中国移动云能力中心的每一位同事:王东旭、毕小红、曹志远、陈国全、董琪、段全锋、李剑锋、刘唯一、陆琦、马奥、马琪、徐冬阳、徐军、杨巍巍、周宇、朱桂华、邹能人、温小清、郑骊昂(以上排名不分先后)。