前言
从 2013 年 Pivotal 公司的 Matt Stine 提出云原生概念,到 2015 年 Google、Red Hat等公司牵头成立 CNCF,云原生领域蓬勃发展。云原生架构在公有云、私有云和混合云等环境中构建及运行可弹性扩展的应用方面具有优势;它也能构建具备良好容错性、易于管理和便于观测的松耦合系统,十分契合现代企业数字化转型和发展的需求。Kubernetes(k8s)作为云原生应用编排的事实标准,已成为云原生开源技术生态的核心,越来越多、越来越复杂的系统开始构建在 Kubernetes 上。为了统一这些系统的开发模式,并使其遵循 Kubernetes 的理念,Operator 模式应运而生。Operator 被用来创建、配置和管理复杂的应用,能极大地扩展 Kubernetes 的能力。为方便开发者和用户查找、分享和使用 Operator 资源,Red Hat 联合 AWS、Google、Microsoft等公司推出了 OperatorHub 网站,已累积了诸多 Operator 资源。如今,Operator 模式已广泛应用在各个领域,如数据库、边缘计算、机器学习等。
2015 年,中国移动云能力中心开始接触和使用 Kubernetes,经历了从起初基于Kubernetes 构建 PaaS 平台,到如今采用 Operator 模式构建移动云服务的过程。当前,越来越多的产品与场景有应用 Operator 模式的需求。因此,我们总结了 Operator 模式的相关原理、开发流程以及开发过程中需要使用的工具,希望能够帮助有需求的读者快速学习。