前言
为什么要写这本书
随着云计算技术的蓬勃发展和落地,越来越多的企业选择云计算技术快速完成业务数字化转型,以便更好地适应市场变化,赢得更大的市场空间。一些企业基于降低技术开发和运维成本、享受随时随地的即时服务等原因,将业务部署在云端;一些企业出于数据主权和安全隐私方面的考虑,在内部数据环境中搭建专有云平台;对于公有云和专有云都有需求的企业,会选择搭建混合云架构;还有一些企业为了满足安全合规、成本优化等需求,以及扩大地域覆盖范围,避免固定云厂商绑定,会选择多个云供应商。
云厂商在不同基础设施、不同能力特性以及不同API的基础上构建多云/混合云方案,需要耗费大量精力在适配和整合云平台能力上,同时用另一种形式绑定了用户,使其无法真正按需切换云服务提供商。传统多云/混合云的种种缺陷,导致这种云架构无法形成标准化的生态体系,这也是一直以来我们无法针对这种云架构实现统一管理、统一交付的原因。
Kubernetes的出现让多云/混合云云架构进入了2.0时代,Kubernetes的多项特性及相关生态体系为多云/混合云的标准化提供了可能性,以Kubernetes为代表的云原生技术屏蔽了基础设施的差异性。目前各个云厂商以及大量的数据中心都已经落地云原生技术,使得应用“一次定义,随处部署”成为可能。Kubernetes标准化、声明式的API,简化了应用的部署流程,让应用交付变得越来越标准化和统一化,并且支持在不同的云上使用相同的方式描述和编排应用。
以Kubernetes为代表的云原生技术推动了以应用为中心的多云/混合云云架构的到来,Kubernetes已经成为企业多云管理的事实基础。本书的写作目的是向读者介绍当前多云/混合云多集群管理、混合集群弹性扩容、多集群应用管理和交付、多集群服务网格以及跨集群应用迁移等方面的实践。
本书内容
全书分9章。
- 第1章介绍云原生的关键技术、特性以及多云/混合云云架构中存在的问题,进而引出云原生技术如何加速多云/混合云云架构的变革,最后列举多云/混合云多集群的使用场景,阐述其在实际生产环境中的价值。
- 第2章演示如何使用Minikube、Kubeadm和Rancher搭建Kubernetes多集群环境,如何基于公有云容器服务搭建用于企业级应用开发和生产运行的Kubernetes集群,以及如何设置多个集群的环境。
- 第3章重点介绍如何将不同地域的多个集群统一到同一个控制平面,并以开源社区的集群联邦方案和阿里云注册集群为例展示公有云厂商如何实现多集群的统一管控和安全治理。
- 第4章重点介绍如何组建一个包含云下和云上网络的混合网络。从Flannel、Calico、Cilium等主流网络插件以及阿里云容器服务Terway网络插件的功能特性入手,对比不同容器网络插件的优缺点和适用场景,还展示了将本地数据中心网络与云上网络专线拉通并配置容器网络互联互通的方案。
- 第5章介绍如何为本地数据中心内的Kubernetes集群扩容云上弹性资源。
- 第6章详述多集群云原生应用编排技术,包括如何使用Helm和Kustomize编排多集群应用,达到使用同一份应用编排,根据不同目标集群环境渲染不同参数配置的目的。
- 第7章介绍如何使用Argo CD系统管理多集群应用的生命周期和应用交付,包括Argo CD的用户管理、源仓库管理、集群管理、项目管理和应用管理等方面的实践。
- 第8章介绍如何使用Istio服务网格技术跨多集群组建服务网格,包括Istio服务网格技术的基础知识和相关实践。
- 第9章展示如何对云原生应用进行备份、恢复以及跨集群的应用迁移。
本书包含大量实践案例,且大部分内容都是基于开源项目,希望读者能够亲自动手运行,结合开源项目的源码,详细了解每一个项目或组件的工作流程。
适用读者
- 需要对多个Kubernetes集群进行资源统一管理、安全统一治理、应用统一交付的系统管理员。
- 需要部署跨集群应用的应用管理员。
- 需要为本地数据中心内的Kubernetes集群扩容云上弹性资源的系统管理员。
- 需要在不同Kubernetes集群之间迁移应用的开发运维人员。
- 云原生技术爱好者。
勘误
由于作者水平有限,编写时间仓促,书中难免会存在一些错误或者不准确的地方,如果读者发现了问题,请及时与我联系。我的邮箱是haoshuwei24@gmail.com。
致谢
感谢所有为本书撰写、出版提供帮助的人。
首先要特别感谢我所在的阿里云容器服务团队负责人易立、容器服务分布式云技术负责人李鹏以及每一位同事,正是有了他们的支持和团队的智慧,我才能在有限的时间内将这些经验、知识总结成一本书。
感谢机械工业出版社华章公司的杨福川编辑,是他促成了这本书的出版;感谢韩蕊编辑,是她多次高效率的审稿极大地提升了本书的质量。
特别感谢我的爱人、父母,他们在我写书期间给予我极大的支持;感谢刚刚能满地跑的我的小宝宝,他在工作和生活中给予我无限力量。他们是我人生中最宝贵的财富。
本书在撰写过程中参考了很多开源社区和云厂商的资料,恕不一一列举,在此对这些同行表示衷心感谢。
最后,感谢正在阅读本书的你,希望你可以从本书中获取有价值的知识。