书籍详情
《多云和混合云:云原生多集群和应用管理》[54M]百度网盘|亲测有效|pdf下载
  • 多云和混合云:云原生多集群和应用管理

  • 出版社:机械工业出版社自营官方旗舰店
  • 出版时间:2021-08
  • 热度:10792
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

产品特色




编辑推荐

适读人群 :需要对多个Kubernetes集群进行资源统一管理、安全统一治理、应用统一交付的系统管理员。 需要部署跨集群应用的应用管理员。 需要为本地数据中心内的Kubernetes集群扩容云上弹性资源的系统管理员。 需要在不同Kubernetes集群之间迁移应用的开发运维人员。 云原生技术爱好者。

(1)作者工程经验丰富:云原生技术专家,阿里云容器服务云原生分布式云团队核心成员,在多云/混合云架构下的多集群管理和混合集群弹性扩容方面经验丰富。

(2)多位专家联袂推荐:阿里云容器服务团队负责人易立、CNCF技术监督委员会成员张磊、阿里云容器服务分布式云技术负责人李鹏等专家一致推荐。

(3)内容来自阿里实践:本书注重实践,书中总结了作者在阿里积累的大量项目实战经验,书中有大量案例。


内容简介

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

作者简介

郝树伟

毕业于北京大学,阿里云容器服务技术专家,曾就职于IBM。

阿里云容器服务云原生分布式云团队核心成员,专注于云原生多云和混合云多集群统一管理和调度、混合集群、应用交付和迁移等云原生技术的研究。


内页插图

精彩书评

  ★以Kubernetes为代表的云原生技术屏蔽了基础设施的差异性,推动了以应用为中心的混合云/分布式云架构的到来,可以更好地支持不同环境下应用统一生命周期管理和统一资源调度,助力企业构建安全合规、弹性高效、稳定韧性的新一代云架构。阿里云容器服务团队的同事总结、梳理的实战经验,可以帮助大家更好地推动云原生技术在企业落地,更好地发挥云原生计算的价值。
  ——易立,阿里云容器服务负责人邝可里巴巴资深技术专家
  
  ★以Kubernetes为核心的多云和混合云架构逐渐成为云计算的新趋势。本书深入讲述了集群管理、网络、弹性、应用编排、服务治理等方面的技术,不仅介绍理论,还包含一系列实践,相信能帮助读者更清晰地认识云原生技术在多云和混合云架构中的应用。
  ——张磊,CNCF技术监督委员会成员、阿里巴巴高级技术专家
  
  ★随着Kubernetes技术的不断成熟,越来越多的企业开始在生产环境中使用Kubernetes,而一些领先的企业已经把目光投向基于Kubernetes的多云架构。本书介绍了构建一个基于Kubernetes的多云系统需要考虑的各个方面,从技术选型到基本原理,再到实例,内容深入浅出,适合不同层次的读者,非常值得一读。
  ——李国强,阿里巴巴资深产品专家
  
  ★本书内容包括多集群统一管理,混合集群网络规划、弹性伸缩,多集群应用编排、生命周期管理和交付,流量治理和跨集群应用迁移等多个方面,同时包含大量实践案例,能帮助读者快速掌握跨云混合集群、多集群和应用的管理。
  ——李鹏,阿里云容器服务分布式云技术负责人

目录

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


前言/序言

Foreword 序  一

近年来,云的边界正逐渐被技术和开源抹平,越来越多的软件和框架从设计开始就不再与单个云绑定。用户喜欢高可用、低成本,不喜欢被厂商绑定,而云厂商仅凭技术和用户体验也很难解除用户对商业竞争的担忧和焦虑。

多云多集群架构天生具备用户喜爱的能力。可以通过多集群提高灾备能力,保证集群高可用;可以通过多云/混合云降低成本,通过调度有策略地进行选择;甚至可以利用不同云厂商的优势和特性,灵活使用不同云厂商的产品和技术。正是这些原因,使得以Kubernetes为核心的多云多集群技术成为云计算的新潮流。

本书从集群安装开始,详细介绍集群管理、网络、弹性、应用编排、服务治理等内容,不仅有理论,还有实践。

相信在未来的云世界里,Kubernetes会成为连通云与应用的“高速公路”,以标准、高效的方式将应用快速交付到世界的任何一个位置。交付目的地既可以是最终用户,也可以是PaaS/Serverless,甚至更加多样化的应用托管生态也会应运而生。让我们一起迎接面向应用的云原生多集群时代,一起拥抱云原生,一起关注应用本身的价值!


张磊

CNCF技术监督委员会成员、阿里巴巴高级技术专家

2021年5月


Foreword 序  二

云原生技术日益普及,分布式云的概念逐渐兴起,云服务提供商提供了可以在本地和其他云基础设施即服务(IaaS)中运行的容器管理功能,与分布式云趋势保持一致。这模糊了软件供应商和云服务提供商之间的界限,加剧了竞争。Gartner预测81%的企业将采用多云/混合云战略,并认为大多数企业采用多云战略是为了避免供应商锁定以及利用最佳解决方案。多云战略让企业采购更灵活,在可用性、性能、数据主权、监管要求及劳动力成本之间能取得平衡。

通过多云架构使用多云服务,实现跨云的高可用和灾难恢复。

运用API化和声明化的工具实现企业统一IT系统管理与监控,更容易实现应用和数据的迁移。

通过统一的服务治理能力,实现多语言微服务跨云、跨地域的分布式治理。

通过云安全的下沉,实现云计算安全能力在企业IT系统的统一。

通过统一的应用中心,为线下Kubernetes集群输出标准的SaaS软件。

本书从阐述云原生技术加速多云/混合云架构变革开始,涵盖了多集群统一管理,混合集群网络规划、弹性伸缩,多集群应用编排、生命周期管理和交付,流量治理和跨集群应用迁移等多个方面,同时包含大量实践案例。

随着多云/混合云战略的逐步深入,我相信松耦合的多云分布式云方案的成本会更低、采用速度会更快,会让企业在不变更已有应用结构的前提下最大限度地获得分布式云管理在弹性、容灾、运维、安全上的红利。


李鹏

阿里云容器服务分布式云技术负责人

2021年5月


前  言

为什么要写这本书

随着云计算技术的蓬勃发展和落地,越来越多的企业选择云计算技术快速完成业务数字化转型,以便更好地适应市场变化,赢得更大的市场空间。一些企业基于降低技术开发和运维成本、享受随时随地的即时服务等原因,将业务部署在云端;一些企业出于数据主权和安全隐私方面的考虑,在内部数据环境中搭建专有云平台;对于公有云和专有云都有需求的企业,会选择搭建混合云架构;还有一些企业为了满足安全合规、成本优化等需求,以及扩大地域覆盖范围,避免固定云厂商绑定,会选择多个云供应商。

云厂商在不同基础设施、不同能力特性以及不同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集群之间迁移应用的开发运维人员。

云原生技术爱好者。