《云原生落地:企业级DevOps实践》是由机械工业出版社出版的一本关于云原生方面的书籍,作者是应阔浩、李建宇、付天时、赵耀,主要介绍了关于云原生、DevOps实践方面的知识内容,目前在云原生类书籍综合评分为:7.5分。
书籍介绍
编辑推荐
1.行业标杆案例:自如的云原生实践取得了成功,是行业公认的标杆企业和案例,非常有代表性,适合所有企业借鉴和参考。
2.作者团队资深:自如技术平台负责人亲自带队,自如运维保障中心负责人、SRE负责人、基础架构负责人联合撰写。
3.注重实战,从0到1:压缩理论内容篇幅,从技术选型、原理分析、落地方法、实践案例等多个维度复盘自如实现云原生架构落地的完整过程。
4.17位行业专家推荐:自如董事长兼CEO亲自作序,沈剑、孙玄、乔新亮、史海峰、郭东白等业界大佬高度评价并力荐。
内容简介
这是一本指导企业如何向云原生架构转型的实战性著作。
经过2年多的改造,自如的技术架构成功实现向云原生架构转型,大幅度提高了服务稳定性和开发效率,同时降低了运维成本,因此自如的云原生实践也成为行业公认的标杆。
自如的核心技术团队在本书中对他们的云原生实践的完整过程进行了深度复盘,详细阐述了云原生架构下Kubernetes的组件选型、企业级PaaS平台开发、CI/CD的Z佳实践、服务网格的平滑落地,并结合实际的案例把云原生实践过程中的思考、得失融入其中,助力企业更优雅地实现云原生架构的落地。
通过阅读本书,你将获得以下知识:
透彻理解云原生的发展历程与意义;
了解云原生实践应重点关注哪些方向;
Kubernetes管理后台、关键组件选型以及定制化开发;
如何研发自定义的企业级Paas平台;
如何设计持续集成的环境与分支选型;
如何打造一个一流的CI/CD平台;
如何选择流水线工具;
如何设计企业级的持续部署平台;
如何为工程师打造NPS高的配套工具;
如何去通过服务网格解决通用的熔断、限流问题;
如何运营和推广云原生平台,让它100%落地。
目录
- 赞誉
- 序
- 前言
- 第一部分云原生基础
- 第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.3Docker的优点 20
- 1.5编排 21
- 1.5.1为什么要有编排 21
- 1.5.2什么是编排 22
- 1.5.3编排的优点 22
- 1.6CI/CD 23
- 1.6.1CI/CD诞生的背景 23
- 1.6.2什么是CI/CD 23
- 1.6.3CI/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.1DevOps体系的发展方向 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.3Docker架构 61
- 4.1.4Docker安装与命令 62
- 4.1.5Docker常用命令 63
- 4.2镜像管理 64
- 4.2.1什么是镜像 64
- 4.2.2镜像仓库服务 64
- 4.2.3镜像的创建与操作 65
- 4.2.4Dockerf?ile 65
- 4.3Docker网络管理 67
- 4.4容器核心原理 68
- 4.4.1Namespace资源隔离 68
- 4.4.2Cgroups资源限制 69
- 4.4.3联合文件系统 69
- 4.4.4runC 70
- 4.5本章小结 72
- 第二部分云原生落地
- 第5章Kubernetes基础知识 75
- 5.1初识Kubernetes 75
- 5.1.1Kubernetes架构 76
- 5.1.2Kubernetes核心概念 76
- 5.1.3Kubernetes设计理念 78
- 5.2Kubernetes资源对象 79
- 5.2.1Pod 79
- 5.2.2集群资源管理 80
- 5.2.3控制器 80
- 5.2.4Service 81
- 5.3Kubernetes网络体系 82
- 5.3.1Kubernetes网络模型 83
- 5.3.2Kubernetes网络的主要实现方案 83
- 5.3.3Kubernetes网络中Pod的通信 84
- 5.4存储体系 84
- 5.4.1ETCD 84
- 5.4.2Conf?igMap 86
- 5.4.3Volume 86
- 5.4.4Persistent Volume 86
- 5.4.5Storage Class 87
- 5.5命令工具 87
- 5.5.1集群管理 88
- 5.5.2集群维护 88
- 5.6生产级高可用Kubernetes集群方案 89
- 5.6.1Kubernetes部署方案 89
- 5.6.2Kubernetes部署架构 90
- 5.6.3Kubernetes多集群部署架构 92
- 5.7本章小结 93
- 第6章运维管理后台方案选型 94
- 6.1Wayne 95
- 6.2Rancher 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.3Ingress实战 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.1Prometheus Operator 123
- 7.5.2告警系统的存储选型 125
- 7.6网络方案 126
- 7.6.1Flannel网络 127
- 7.6.2Calico网络 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.1client-go客户端对象 135
- 8.1.2KubeConf?ig集群配置 136
- 8.2client-go核心组件Informer 137
- 8.2.1Informer介绍 138
- 8.2.2Informer的架构设计 138
- 8.2.3面向用户的Informer资源 140
- 8.2.4Ref?lector 142
- 8.2.5DeltaFIFO 148
- 8.2.6Indexer 152
- 8.2.7WorkQueue 154
- 8.2.8EventBroadcaster 156
- 8.2.9大管家Controller 157
- 8.3client-go实战开发