首页>参考读物>计算机科学与技术>软件与程序设计

多云和混合云:云原生多集群和应用管理
作者 : 郝树伟 著
出版日期 : 2021-08-17
ISBN : 978-7-111-68914-0
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 296
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

内容简介
这是一本讲解如何在多云/混合云的环境下进行多集群管理、多集群应用编排以及应用管理和跨集群迁移的著作。
作者是阿里云容器服务云原生分布式云团队核心成员,他基于自己丰富的工程实践经验,详细讲解了:
?云原生的关键技术、多云/混合云云架构的变革和存在的问题,以及多云/混合云多集群的使用场景和价值;
?如何将不同地域的多个集群统一到同一个控制平面,给出了多集群统一管理的方案;
?Flannel、Calico、Cilium等主流容器网络插件以及阿里云容器服务Terway网络插件的功能和适用场景,以及如何组建一个包含云下和云上网络且互联互通的混合网络;
?如何为本地数据中心内的Kubernetes集群扩容云上弹性资源。
?如何用Helm和Kustomize工具对需要部署到多个集群的应用进行编排;
?如何使用Argo CD系统管理多集群应用的生命周期和应用交付;
?如何使用Istio服务网格技术跨多集群组建服务网格;
?如何对云原生应用进行备份、恢复以及跨集群的应用迁移。

图书特色

阿里云容器服务团队工程师撰写,阿里云容器服务团队负责人等多位高级技术专家联袂推荐
全面讲解多云/混合云环境下的多集群、混合集群的管理,以及应用的管理和跨集群迁移

图书前言

为什么要写这本书
随着云计算技术的蓬勃发展和落地,越来越多的企业选择云计算技术快速完成业务数字化转型,以便更好地适应市场变化,赢得更大的市场空间。一些企业基于降低技术开发和运维成本、享受随时随地的即时服务等原因,将业务部署在云端;一些企业出于数据主权和安全隐私方面的考虑,在内部数据环境中搭建专有云平台;对于公有云和专有云都有需求的企业,会选择搭建混合云架构;还有一些企业为了满足安全合规、成本优化等需求,以及扩大地域覆盖范围,避免固定云厂商绑定,会选择多个云供应商。
云厂商在不同基础设施、不同能力特性以及不同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。
致谢
感谢所有为本书撰写、出版提供帮助的人。
首先要特别感谢我所在的阿里云容器服务团队负责人易立、容器服务分布式云技术负责人李鹏以及每一位同事,正是有了他们的支持和团队的智慧,我才能在有限的时间内将这些经验、知识总结成一本书。
感谢机械工业出版社华章分社的杨福川编辑,是他促成了这本书的出版;感谢韩蕊编辑,是她多次高效率的审稿极大地提升了本书的质量。
特别感谢我的爱人、父母,他们在我写书期间给予我极大的支持;感谢刚刚能满地跑的我的小宝宝,他在工作和生活中给予我无限力量。他们是我人生中最宝贵的财富。
本书在撰写过程中参考了很多开源社区和云厂商的资料,恕不一一列举,在此对这些同行表示衷心感谢。
最后,感谢正在阅读本书的你,希望你可以从本书中获取有价值的知识。

上架指导

计算机/云计算

封底文字

以Kubernetes为代表的云原生技术屏蔽了基础设施的差异性,推动了以应用为中心的混合云/分布式云架构的到来,可以更好地支持不同环境下应用统一生命周期管理和统一资源调度,助力企业构建安全合规、弹性高效、稳定韧性的新一代云架构。阿里云容器服务团队的同事总结、梳理的实战经验,可以帮助大家更好地推动云原生技术在企业落地,更好地发挥云原生计算的价值。
—— 易立 阿里云容器服务负责人/阿里巴巴资深技术专家

以Kubernetes为核心的多云和混合云架构逐渐成为云计算的新趋势。本书深入讲述了集群管理、网络、弹性、应用编排、服务治理等方面的技术,不仅介绍理论,还包含一系列实践,相信能帮助读者更清晰地认识云原生技术在多云和混合云架构中的应用。
—— 张磊 CNCF技术监督委员会成员、阿里巴巴高级技术专家

随着Kubernetes技术的不断成熟,越来越多的企业开始在生产环境中使用Kubernetes,而一些领先的企业已经把目光投向基于Kubernetes的多云架构。本书介绍了构建一个基于Kubernetes的多云系统需要考虑的各个方面,从技术选型到基本原理,再到实例,内容深入浅出,适合不同层次的读者,非常值得一读。
—— 李国强 阿里巴巴资深产品专家

本书内容包括多集群统一管理,混合集群网络规划、弹性伸缩,多集群应用编排、生命周期管理和交付,流量治理和跨集群应用迁移等多个方面,同时包含大量实践案例,能帮助读者快速掌握跨云混合集群、多集群和应用的管理。
—— 李鹏 阿里云容器服务分布式云技术负责人

作者简介

郝树伟 著:作者简介(照片)
郝树伟
毕业于北京大学,阿里云容器服务技术专家,曾就职于IBM。
阿里云容器服务云原生分布式云团队核心成员,专注于云原生多云和混合云多集群统一管理和调度、混合集群、应用交付和迁移等云原生技术的研究。

图书目录

序一
序二
前言
第1章 云原生与多云/混合云 1
1.1 什么是云原生 1
1.1.1 云原生的定义 1
1.1.2 云原生关键技术概述 2
1.2 多云/混合云 7
1.2.1 什么是多云/混合云 7
1.2.2 为什么需要多云/混合云 8
1.3 云原生技术助力多云/混合云云架构变革 9
1.4 云原生多云/混合云多集群的使用场景 9
1.5 本章小结 12
第2章 快速搭建Kubernetes多集群环境 13
2.1 使用Minikube搭建本地Kubernetes集群 13
2.2 使用Kubeadm搭建Kubernetes集群 16
2.3 使用Rancher搭建Kubernetes集群 20
2.4 使用公有云容器服务搭建Kubernetes集群 24
2.5 配置多集群的访问和切换 27
2.6 本章小结 30
第3章 多云/混合云多集群统一管理 31
3.1 多云/混合云多集群管理现状 31
3.2 云上云下Kubernetes多集群环境准备 32
3.3 KubeFed详解 33
3.3.1 KubeFed架构设计 33
3.3.2 Helm Chart部署KubeFed 35
3.3.3 集群注册 36
3.3.4 部署联邦应用 37
3.3.5 KubeFed的发展现状 41
3.4 公有云厂商的集群纳管解决方案 41
3.4.1 注册集群的架构设计 41
3.4.2 通信链路安全 43
3.4.3 Kubernetes API 隧道 45
3.5 纳管自建Kubernetes集群 46
3.5.1 创建注册集群 46
3.5.2 接入注册集群 48
3.5.3 注册集群的使用 52
3.6 统一的权限管理 54
3.6.1 用户管理 54
3.6.2 统一授权 56
3.7 本章小结 59
第4章 混合集群——混合网络 60
4.1 容器网络接口 60
4.2 Flannel网络插件 62
4.2.1 VXLAN模式 62
4.2.2 UDP模式 65
4.2.3 host-gw模式 65
4.3 Calico网络插件 66
4.3.1 IPIP模式 66
4.3.2 BGP模式 69
4.3.3 网络策略 75
4.4 Cilium网络插件 76
4.4.1 eBPF技术 76
4.4.2 架构设计 77
4.4.3 功能特性 78
4.4.4 安装和部署 79
4.4.5 网络和网络策略的可视化 81
4.4.6 网络策略 83
4.4.7 多集群组网 92
4.5 Terway网络插件 98
4.5.1 使用限制 99
4.5.2 Terway网络规划和准备 100
4.5.3 创建Terway网络集群 100
4.5.4 网络安全策略 102
4.5.5 扩容Terway网络集群 104
4.6 容器网络插件对比 105
4.7 混合集群网络 105
4.7.1 混合集群网络模式 106
4.7.2 云上云下互联互通专线方案 108
4.7.3 云企业网 109
4.7.4 边界路由器BGP配置 109
4.8 本章小结 111
第5章 混合集群——弹性伸缩 112
5.1 接入注册集群 112
5.1.1 创建注册集群 112
5.1.2 配置网络插件 113
5.1.3 配置自定义节点添加脚本 115
5.2 集群扩容 121
5.2.1 节点池概述 122
5.2.2 创建节点池 122
5.2.3 节点池扩容 125
5.2.4 部署示例应用 127
5.3 自动弹性伸缩 129
5.3.1 自动弹性伸缩概述 129
5.3.2 创建弹性节点池 129
5.3.3 部署示例应用 132
5.4 虚拟节点和弹性容器实例 134
5.4.1 虚拟节点和弹性容器实例概述 134
5.4.2 安装、部署虚拟节点组件 134
5.4.3 部署示例应用 135
5.5 本章小结 136
第6章 多云/混合云多集群应用编排 137
6.1 Kubernetes应用编排技术 137
6.2 Helm应用编排 140
6.2.1 Helm项目概述 140
6.2.2 安装Helm 141
6.2.3 Helm Chart的使用 142
6.2.4 Helm仓库的搭建和使用 145
6.2.5 使用Helm编排Guestbook应用并进行多集群部署 148
6.3 Kustomize应用编排 152
6.3.1 Kustomize项目概述 152
6.3.2 Kustomize的安装和使用 153
6.4 本章小结 157
第7章 应用统一管理和交付——Argo CD 158
7.1 Argo CD概述 158
7.1.1 Argo CD的核心概念 159
7.1.2 Argo CD架构设计与工作原理 159
7.2 Argo CD的安装和配置 161
7.2.1 安装Argo CD 161
7.2.2 Argo CD的访问方式 163
7.2.3 卸载Argo CD 165
7.3 用户管理 165
7.3.1 本地用户 165
7.3.2 集成SSO 167
7.4 源仓库管理 170
7.4.1 Git类型源仓库管理 170
7.4.2 Helm类型源仓库管理 172
7.4.3 存储位置 173
7.5 集群管理 174
7.5.1 外部集群管理 174
7.5.2 集群RBAC权限设置 177
7.6 项目管理 177
7.6.1 默认项目 178
7.6.2 创建项目 178
7.6.3 管理项目 179
7.6.4 项目角色 181
7.6.5 使用UI管理项目 183
7.7 应用管理 184
7.7.1 创建应用 184
7.7.2 应用的统一视图管理 191
7.7.3 应用的更新和回滚 192
7.8 本章小结 200
第8章 服务统一治理 201
8.1 Istio服务网格 201
8.1.1 什么是服务网格 201
8.1.2 Istio服务网格架构 202
8.2 Istio服务网格的流量治理 204
8.2.1 虚拟服务 204
8.2.2 目标规则 205
8.2.3 网关 206
8.2.4 服务入口 207
8.3 部署Istio服务网格组件和示例应用 207
8.3.1 安装和部署Istio 207
8.3.2 部署示例应用 209
8.4 Istio东西流量管理 211
8.4.1 配置动态路由 211
8.4.2 故障注入 214
8.4.3 灰度流量 216
8.4.4 熔断 217
8.5 Istio多集群部署管理 219
8.5.1 使用限制和准备工作 219
8.5.2 单一网络共享控制平面部署模型 220
8.5.3 单一网络多控制平面部署模型 224
8.5.4 多网络共享控制平面部署模型 226
8.5.5 多网络多控制平面部署模型 231
8.5.6 验证服务网格中东西流量的示例应用 234
8.6 跨地域多集群流量统一治理 236
8.7 本章小结 243
第9章 应用的备份恢复和跨集群迁移 244
9.1 Velero概述 244
9.1.1 什么是Velero 244
9.1.2 Velero的工作原理 245
9.2 Velero的安装和配置 246
9.2.1 安装Velero客户端 246
9.2.2 安装和启动Minio对象存储服务 247
9.2.3 安装和配置Velero服务组件 248
9.2.4 卸载Velero 251
9.3 提供商与插件 251
9.4 存储位置 252
9.4.1 BackupStorageLocation 252
9.4.2 VolumeSnapshotLocation 253
9.4.3 使用限制和注意事项 254
9.4.4 一些常用的配置策略和使用方法 254
9.5 备份和恢复 256
9.5.1 备份 256
9.5.2 恢复 260
9.5.3 定时备份 264
9.6 Restic集成 264
9.6.1 Velero集成Restic 265
9.6.2 备份与恢复 266
9.6.3 Velero集成Restic进行备份和恢复 270
9.6.4 使用限制 275
9.6.5 使用自定义初始化容器配置 275
9.7 灾难恢复和跨集群迁移实践 277
9.7.1 Velero 客户端和服务端的安装 277
9.7.2 灾难恢复 279
9.7.3 集群/应用迁移 280
9.8 本章小结 282

教学资源推荐
作者: [美]H. H. 塔恩(H.H.Tan),T. B. 多拉齐奥(T.B.D'Orazio)[香港]柯兆恒(S. H. Or),玛丽安 M. Y. 周(Marian M. Y. Choy) 著
作者: [美] 罗伯特·塞奇威克(Robert Sedgewick), 凯文·韦恩(Kevin Wayne), 罗伯特·唐德罗(Robert Dondero)著
作者: Brian W.Kernighan,Rob Pike