书籍详情
多云和混合云:云原生多集群和应用管理
作者:郝树伟 著
出版社:机械工业出版社
出版时间:2021-08-01
ISBN:9787111689140
定价:¥99.00
购买这本书可以去
内容简介
《多云和混合云:云原生多集群和应用管理》是一本讲解如何在多云/混合云的环境下进行多集群管理、多集群应用编排以及应用管理和跨集群迁移的著作。《多云和混合云:云原生多集群和应用管理》作者是阿里云容器服务云原生分布式云团队核心成员,他基于自己丰富的工程实践经验,详细讲解了:云原生的关键技术、多云/混合云云架构的变革和存在的问题,以及多云/混合云多集群的使用场景和价值;如何将不同地域的多个集群统一到同一个控制平面,并给出了多集群统一管理的方案;Flannel、Calico、Cilium等主流容器网络插件以及阿里云容器服务Terway网络插件的功能和适用场景,以及如何组建一个包含云下和云上网络且互联互通的混合网络;如何为本地数据中心内的Kubernetes集群扩容云上弹性资源;如何用Helm和Kustomize工具对需要部署到多个集群的应用进行编排;如何使用ArgoCD系统管理多集群应用的生命周期和应用交付;如何使用lstio服务网格技术跨多集群组建服务网格;如何对云原生应用进行备份、恢复以及跨集群的应用迁移。
作者简介
郝树伟 毕业于北京大学,阿里云容器服务技术专家,曾就职于IBM。 阿里云容器服务云原生分布式云团队核心成员,专注于云原生多云和混合云多集群统一管理和调度、混合集群、应用交付和迁移等云原生技术的研究。
目录
Contents 目 录
序一
序二
前言
第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
序一
序二
前言
第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
猜您喜欢