书籍详情
云原生落地:企业级DevOps实践
作者:应阔浩 李建宇 付天时 赵耀 著
出版社:机械工业出版社
出版时间:2022-08-01
ISBN:9787111710455
定价:¥109.00
购买这本书可以去
内容简介
内容简介这是一本指导企业如何向云原生架构转型的实战性著作。经过2年多的改造,自如的技术架构成功实现向云原生架构转型,大幅度提高了服务稳定性和开发效率,同时降低了运维成本,因此自如的云原生实践也成为行业公认的标杆。自如的核心技术团队在本书中对他们的云原生实践的完整过程进行了深度复盘,详细阐述了云原生架构下Kubernetes的组件选型、企业级PaaS平台开发、CI/CD的Z佳实践、服务网格的平滑落地,并结合实际的案例把云原生实践过程中的思考、得失融入其中,助力企业更优雅地实现云原生架构的落地。通过阅读本书,你将获得以下知识:?透彻理解云原生的发展历程与意义;?了解云原生实践应重点关注哪些方向;?Kubernetes管理后台、关键组件选型以及定制化开发;?如何研发自定义的企业级Paas平台;?如何设计持续集成的环境与分支选型;?如何打造一个一流的CI/CD平台;?如何选择流水线工具;?如何设计企业级的持续部署平台;?如何为工程师打造NPS高的配套工具;?如何去通过服务网格解决通用的熔断、限流问题;?如何运营和推广云原生平台,让它100%落地。
作者简介
作者简介应阔浩自如技术平台负责人,负责自如网基础架构的研发与技术标准的管理。具备10年京东、阿里等一线互联网公司的架构开发与运维经验,是一位实战型的技术管理者。CCF TF工程师文化SIG主席、中商联智库顾问专家、华为云MVP。关注前沿科技,喜欢挑战现状,拥抱新技术并尝试落地到企业实战中,渴望通过技术助力业务增长。李建宇自如运维保障中心负责人,在Linux性能调优、虚拟化、微服务架构方面有较深的研究与实战经验。热衷于探索更好的架构方案,推动工程效能与稳定性提升。目前致力于带领团队在云原生领域持续实践,助力企业数字化转型。付天时自如运维保障中心SRE负责人、架构师。负责自如网云原生落地、PaaS平台的开发、Service Mesh落地、中间件的治理和维护、自动化运维平台的开发、SLA的保障等工作。热衷于SLA、效能、成本的优化。认为一个合格的SRE需要具备扎实的技术功底,善于在实践中总结出方法论,具备组织与协调各技术部门并推进技术落地的能力。赵耀自如基础架构负责人,云平台架构师。有10 余年一线研发经验,擅长分布式系统架构设计。在自如负责持续交付平台、中间件平台以及监控告警体系的构建。对容器、云原生领域有浓厚兴趣,完整参与了自如的云原生落地从 0 到 60 分的过程。
目录
赞誉
序
前言
第一部分 云原生基础
第1章 云原生概述 3
1.1 云原生的概念 3
1.1.1 初识云原生 3
1.1.2 官方的定义 6
1.2 云原生的特性 8
1.3 微服务 14
1.3.1 微服务与单体架构的区别 14
1.3.2 什么是微服务 14
1.3.3 微服务架构的优点 15
1.4 容器化 16
1.4.1 虚拟化与容器化的区别 16
1.4.2 容器化的核心原理 18
1.4.3 Docker的优点 20
1.5 编排 21
1.5.1 为什么要有编排 21
1.5.2 什么是编排 22
1.5.3 编排的优点 22
1.6 CI/CD 23
1.6.1 CI/CD诞生的背景 23
1.6.2 什么是CI/CD 23
1.6.3 CI/CD的优点 25
1.7 服务网格 26
1.7.1 服务网格诞生的背景 26
1.7.2 什么是服务网格 27
1.7.3 服务网格的优点 28
1.8 不可变基础设施和声明式API 28
1.8.1 什么是不可变基础设施 28
1.8.2可变与不可变基础设施之间的差异 30
1.8.3 不可变基础设施的优点 30
1.9 本章小结 31
第2章 自如架构演进 32
2.1 技术架构的演进 32
2.1.1 架构的定义与分类 33
2.1.2 单体架构 34
2.1.3 分布式架构 35
2.1.4 微服务架构 36
2.1.5 中台架构 37
2.2 自如的技术发展史 39
2.2.1 业务背景介绍 39
2.2.2 自如的技术演进过程 40
2.2.3 当前技术架构 40
2.3 自如技术架构遇到的问题 41
2.3.1 稳定性问题 42
2.3.2 研发效率问题 43
2.3.3 流程体系问题 43
2.4 本章小结 45
第3章 开启云原生之路 46
3.1 制定云原生战略 46
3.1.1 行业趋势分析 46
3.1.2 战略方向分析 47
3.2 建设DevOps体系 50
3.2.1 DevOps体系的发展方向 50
3.2.2 开发能力差距分析 51
3.2.3建设DevOps体系的路线图 54
3.3 从KVM迁移到Docker 55
3.3.1 现状分析 55
3.3.2 按环境迁移 57
3.3.3 按业务线迁移 58
3.4 本章小结 58
第4章Docker的基础知识与核心原理 59
4.1 容器与Docker 59
4.1.1 虚拟化技术 60
4.1.2 容器技术 60
4.1.3 Docker架构 61
4.1.4 Docker安装与命令 62
4.1.5 Docker常用命令 63
4.2 镜像管理 64
4.2.1 什么是镜像 64
4.2.2 镜像仓库服务 64
4.2.3 镜像的创建与操作 65
4.2.4 Dockerf?ile 65
4.3 Docker网络管理 67
4.4 容器核心原理 68
4.4.1 Namespace资源隔离 68
4.4.2 Cgroups资源限制 69
4.4.3 联合文件系统 69
4.4.4 runC 70
4.5 本章小结 72
第二部分 云原生落地
第5章 Kubernetes基础知识 75
5.1 初识Kubernetes 75
5.1.1 Kubernetes架构 76
5.1.2 Kubernetes核心概念 76
5.1.3 Kubernetes设计理念 78
5.2 Kubernetes资源对象 79
5.2.1 Pod 79
5.2.2 集群资源管理 80
5.2.3 控制器 80
5.2.4 Service 81
5.3 Kubernetes网络体系 82
5.3.1 Kubernetes网络模型 83
5.3.2Kubernetes网络的主要实现方案 83
5.3.3 Kubernetes网络中Pod的通信 84
5.4 存储体系 84
5.4.1 ETCD 84
5.4.2 Conf?igMap 86
5.4.3 Volume 86
5.4.4 Persistent Volume 86
5.4.5 Storage Class 87
5.5 命令工具 87
5.5.1 集群管理 88
5.5.2 集群维护 88
5.6生产级高可用Kubernetes集群方案 89
5.6.1 Kubernetes部署方案 89
5.6.2 Kubernetes部署架构 90
5.6.3 Kubernetes多集群部署架构 92
5.7 本章小结 93
第6章 运维管理后台方案选型 94
6.1 Wayne 95
6.2 Rancher 96
6.3 常用公有云 97
6.3.1 阿里云 97
6.3.2 腾讯云 98
6.3.3 华为云 98
6.4 运维管理方案对比 99
6.5 本章小结 100
第7章 云原生基础组件选型 101
7.1 持久化存储方案 102
7.1.1 存储的选型 102
7.1.2Ceph在Kubernetes中的使用 104
7.2 镜像管理 107
7.2.1 高可用镜像方案 108
7.2.2 镜像清理策略 111
7.3 Ingress实战 112
7.3.1 什么是Ingress-nginx 113
7.3.2多集群多机房高可用负载均衡架构设计 115
7.4 日志采集和展示 117
7.4.1云原生下日志采集的3种方式 117
7.4.2 日志采集设计思路 118
7.4.3 日志效果展示 120
7.4.4 注意事项和思考 122
7.5 监控告警 123
7.5.1 Prometheus Operator 123
7.5.2 告警系统的存储选型 125
7.6 网络方案 126
7.6.1 Flannel网络 127
7.6.2 Calico网络 129
7.6.3 直接路由 129
7.6.4 网络方案对比 130
7.6.5 直接路由方案落地实践 131
7.7 本章小结 133
第8章 Kubernetes开发实战 134
8.1 初识client-go 134
8.1.1 client-go客户端对象 135
8.1.2 KubeConf?ig集群配置 136
8.2 client-go核心组件Informer 137
8.2.1 Informer介绍 138
8.2.2 Informer的架构设计 138
8.2.3 面向用户的Informer资源 140
8.2.4 Ref?lector 142
8.2.5 DeltaFIFO 148
8.2.6 Indexer 152
8.2.7 WorkQueue 154
8.2.8 EventBroadcaster 156
8.2.9 大管家Controller 157
8.3 client-go实战开发
序
前言
第一部分 云原生基础
第1章 云原生概述 3
1.1 云原生的概念 3
1.1.1 初识云原生 3
1.1.2 官方的定义 6
1.2 云原生的特性 8
1.3 微服务 14
1.3.1 微服务与单体架构的区别 14
1.3.2 什么是微服务 14
1.3.3 微服务架构的优点 15
1.4 容器化 16
1.4.1 虚拟化与容器化的区别 16
1.4.2 容器化的核心原理 18
1.4.3 Docker的优点 20
1.5 编排 21
1.5.1 为什么要有编排 21
1.5.2 什么是编排 22
1.5.3 编排的优点 22
1.6 CI/CD 23
1.6.1 CI/CD诞生的背景 23
1.6.2 什么是CI/CD 23
1.6.3 CI/CD的优点 25
1.7 服务网格 26
1.7.1 服务网格诞生的背景 26
1.7.2 什么是服务网格 27
1.7.3 服务网格的优点 28
1.8 不可变基础设施和声明式API 28
1.8.1 什么是不可变基础设施 28
1.8.2可变与不可变基础设施之间的差异 30
1.8.3 不可变基础设施的优点 30
1.9 本章小结 31
第2章 自如架构演进 32
2.1 技术架构的演进 32
2.1.1 架构的定义与分类 33
2.1.2 单体架构 34
2.1.3 分布式架构 35
2.1.4 微服务架构 36
2.1.5 中台架构 37
2.2 自如的技术发展史 39
2.2.1 业务背景介绍 39
2.2.2 自如的技术演进过程 40
2.2.3 当前技术架构 40
2.3 自如技术架构遇到的问题 41
2.3.1 稳定性问题 42
2.3.2 研发效率问题 43
2.3.3 流程体系问题 43
2.4 本章小结 45
第3章 开启云原生之路 46
3.1 制定云原生战略 46
3.1.1 行业趋势分析 46
3.1.2 战略方向分析 47
3.2 建设DevOps体系 50
3.2.1 DevOps体系的发展方向 50
3.2.2 开发能力差距分析 51
3.2.3建设DevOps体系的路线图 54
3.3 从KVM迁移到Docker 55
3.3.1 现状分析 55
3.3.2 按环境迁移 57
3.3.3 按业务线迁移 58
3.4 本章小结 58
第4章Docker的基础知识与核心原理 59
4.1 容器与Docker 59
4.1.1 虚拟化技术 60
4.1.2 容器技术 60
4.1.3 Docker架构 61
4.1.4 Docker安装与命令 62
4.1.5 Docker常用命令 63
4.2 镜像管理 64
4.2.1 什么是镜像 64
4.2.2 镜像仓库服务 64
4.2.3 镜像的创建与操作 65
4.2.4 Dockerf?ile 65
4.3 Docker网络管理 67
4.4 容器核心原理 68
4.4.1 Namespace资源隔离 68
4.4.2 Cgroups资源限制 69
4.4.3 联合文件系统 69
4.4.4 runC 70
4.5 本章小结 72
第二部分 云原生落地
第5章 Kubernetes基础知识 75
5.1 初识Kubernetes 75
5.1.1 Kubernetes架构 76
5.1.2 Kubernetes核心概念 76
5.1.3 Kubernetes设计理念 78
5.2 Kubernetes资源对象 79
5.2.1 Pod 79
5.2.2 集群资源管理 80
5.2.3 控制器 80
5.2.4 Service 81
5.3 Kubernetes网络体系 82
5.3.1 Kubernetes网络模型 83
5.3.2Kubernetes网络的主要实现方案 83
5.3.3 Kubernetes网络中Pod的通信 84
5.4 存储体系 84
5.4.1 ETCD 84
5.4.2 Conf?igMap 86
5.4.3 Volume 86
5.4.4 Persistent Volume 86
5.4.5 Storage Class 87
5.5 命令工具 87
5.5.1 集群管理 88
5.5.2 集群维护 88
5.6生产级高可用Kubernetes集群方案 89
5.6.1 Kubernetes部署方案 89
5.6.2 Kubernetes部署架构 90
5.6.3 Kubernetes多集群部署架构 92
5.7 本章小结 93
第6章 运维管理后台方案选型 94
6.1 Wayne 95
6.2 Rancher 96
6.3 常用公有云 97
6.3.1 阿里云 97
6.3.2 腾讯云 98
6.3.3 华为云 98
6.4 运维管理方案对比 99
6.5 本章小结 100
第7章 云原生基础组件选型 101
7.1 持久化存储方案 102
7.1.1 存储的选型 102
7.1.2Ceph在Kubernetes中的使用 104
7.2 镜像管理 107
7.2.1 高可用镜像方案 108
7.2.2 镜像清理策略 111
7.3 Ingress实战 112
7.3.1 什么是Ingress-nginx 113
7.3.2多集群多机房高可用负载均衡架构设计 115
7.4 日志采集和展示 117
7.4.1云原生下日志采集的3种方式 117
7.4.2 日志采集设计思路 118
7.4.3 日志效果展示 120
7.4.4 注意事项和思考 122
7.5 监控告警 123
7.5.1 Prometheus Operator 123
7.5.2 告警系统的存储选型 125
7.6 网络方案 126
7.6.1 Flannel网络 127
7.6.2 Calico网络 129
7.6.3 直接路由 129
7.6.4 网络方案对比 130
7.6.5 直接路由方案落地实践 131
7.7 本章小结 133
第8章 Kubernetes开发实战 134
8.1 初识client-go 134
8.1.1 client-go客户端对象 135
8.1.2 KubeConf?ig集群配置 136
8.2 client-go核心组件Informer 137
8.2.1 Informer介绍 138
8.2.2 Informer的架构设计 138
8.2.3 面向用户的Informer资源 140
8.2.4 Ref?lector 142
8.2.5 DeltaFIFO 148
8.2.6 Indexer 152
8.2.7 WorkQueue 154
8.2.8 EventBroadcaster 156
8.2.9 大管家Controller 157
8.3 client-go实战开发
猜您喜欢