1.行业标杆案例:自如的云原生实践取得了成功,是行业公认的标杆企业和案例,非常有代表性,适合所有企业借鉴和参考。 2.作者团队资深:自如技术平台负责人亲自带队,自如运维保障中心负责人、SRE负责人、基础架构负责人联合撰写。 3.注重实战,从0到1:压缩理论内容篇幅,从技术选型、原理分析、落地方法、实践案例等多个维度复盘自如实现云原生架构落地的完整过程。
售 价:¥
纸质售价:¥76.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
作者简介
赞誉
前言
第一部分 云原生基础
第1章 云原生概述
1.1 云原生的概念
1.1.1 初识云原生
1.1.2 官方的定义
1.2 云原生的特性
1.3 微服务
1.3.1 微服务与单体架构的区别
1.3.2 什么是微服务
1.3.3 微服务架构的优点
1.4 容器化
1.4.1 虚拟化与容器化的区别
1.4.2 容器化的核心原理
1.4.3 Docker的优点
1.5 编排
1.5.1 为什么要有编排
1.5.2 什么是编排
1.5.3 编排的优点
1.6 CI/CD
1.6.1 CI/CD诞生的背景
1.6.2 什么是CI/CD
1.6.3 CI/CD的优点
1.7 服务网格
1.7.1 服务网格诞生的背景
1.7.2 什么是服务网格
1.7.3 服务网格的优点
1.8 不可变基础设施和声明式API
1.8.1 什么是不可变基础设施
1.8.2 可变与不可变基础设施之间的差异
1.8.3 不可变基础设施的优点
1.9 本章小结
第2章 自如架构演进
2.1 技术架构的演进
2.1.1 架构的定义与分类
2.1.2 单体架构
2.1.3 分布式架构
2.1.4 微服务架构
2.1.5 中台架构
2.2 自如的技术发展史
2.2.1 业务背景介绍
2.2.2 自如的技术演进过程
2.2.3 当前技术架构
2.3 自如技术架构遇到的问题
2.3.1 稳定性问题
2.3.2 研发效率问题
2.3.3 流程体系问题
2.4 本章小结
第3章 开启云原生之路
3.1 制定云原生战略
3.1.1 行业趋势分析
3.1.2 战略方向分析
3.2 建设DevOps体系
3.2.1 DevOps体系的发展方向
3.2.2 开发能力差距分析
3.2.3 建设DevOps体系的路线图
3.3 从KVM迁移到Docker
3.3.1 现状分析
3.3.2 按环境迁移
3.3.3 按业务线迁移
3.4 本章小结
第4章 Docker的基础知识与核心原理
4.1 容器与Docker
4.1.1 虚拟化技术
4.1.2 容器技术
4.1.3 Docker架构
4.1.4 Docker安装与命令
4.1.5 Docker常用命令
4.2 镜像管理
4.2.1 什么是镜像
4.2.2 镜像仓库服务
4.2.3 镜像的创建与操作
4.2.4 Dockerfile
4.3 Docker网络管理
4.4 容器核心原理
4.4.1 Namespace资源隔离
4.4.2 Cgroups资源限制
4.4.3 联合文件系统
4.4.4 runC
4.5 本章小结
第二部分 云原生落地
第5章 Kubernetes基础知识
5.1 初识Kubernetes
5.1.1 Kubernetes架构
5.1.2 Kubernetes核心概念
5.1.3 Kubernetes设计理念
5.2 Kubernetes资源对象
5.2.1 Pod
5.2.2 集群资源管理
5.2.3 控制器
5.2.4 Service
5.3 Kubernetes网络体系
5.3.1 Kubernetes网络模型
5.3.2 Kubernetes网络的主要实现方案
5.3.3 Kubernetes网络中Pod的通信
5.4 存储体系
5.4.1 ETCD
5.4.2 ConfigMap
5.4.3 Volume
5.4.4 Persistent Volume
5.4.5 Storage Class
5.5 命令工具
5.5.1 集群管理
5.5.2 集群维护
5.6 生产级高可用Kubernetes集群方案
5.6.1 Kubernetes部署方案
5.6.2 Kubernetes部署架构
5.6.3 Kubernetes多集群部署架构
5.7 本章小结
第6章 运维管理后台方案选型
6.1 Wayne
6.2 Rancher
6.3 常用公有云
6.3.1 阿里云
6.3.2 腾讯云
6.3.3 华为云
6.4 运维管理方案对比
6.5 本章小结
第7章 云原生基础组件选型
7.1 持久化存储方案
7.1.1 存储的选型
7.1.2 Ceph在Kubernetes中的使用
7.2 镜像管理
7.2.1 高可用镜像方案
7.2.2 镜像清理策略
7.3 Ingress实战
7.3.1 什么是Ingress-nginx
7.3.2 多集群多机房高可用负载均衡架构设计
7.4 日志采集和展示
7.4.1 云原生下日志采集的3种方式
7.4.2 日志采集设计思路
7.4.3 日志效果展示
7.4.4 注意事项和思考
7.5 监控告警
7.5.1 Prometheus Operator
7.5.2 告警系统的存储选型
7.6 网络方案
7.6.1 Flannel网络
7.6.2 Calico网络
7.6.3 直接路由
7.6.4 网络方案对比
7.6.5 直接路由方案落地实践
7.7 本章小结
第8章 Kubernetes开发实战
8.1 初识client-go
8.1.1 client-go客户端对象
8.1.2 KubeConfig集群配置
8.2 client-go核心组件Informer
8.2.1 Informer介绍
8.2.2 Informer的架构设计
8.2.3 面向用户的Informer资源
8.2.4 Reflector
8.2.5 DeltaFIFO
8.2.6 Indexer
8.2.7 WorkQueue
8.2.8 EventBroadcaster
8.2.9 大管家Controller
8.3 client-go实战开发
8.3.1 连接Kubernetes集群
8.3.2 对Kubernetes资源对象进行增删改查
8.3.3 并发控制
8.4 本章小结
第9章 使用client-go构建企业级PaaS平台
9.1 PaaS平台常用功能实战
9.1.1 申请应用的资源
9.1.2 应用活性检测策略
9.1.3 展示应用容器状态
9.1.4 离线故障应用容器
9.1.5 重启应用容器
9.2 PaaS平台进阶功能实战
9.2.1 容器Web终端
9.2.2 发布完成通知
9.3 PaaS平台企业级发布功能开发实战
9.3.1 灰度发布
9.3.2 云原生下金丝雀发布的实现原理
9.3.3 最佳实践
9.3.4 Kubernetes Operator预热基础概念
9.3.5 开发一个生产级金丝雀Operator
9.4 本章小结
第三部分 云原生发布平台
第10章 元数据管理
10.1 应用管理
10.2 环境管理
10.2.1 开发环境和临时环境
10.2.2 测试环境与稳定环境
10.2.3 日常环境
10.2.4 预发环境
10.2.5 生产环境和Beta环境
10.2.6 环境的后台实现
10.3 资源管理
10.4 配置管理
10.4.1 配置文件管理
10.4.2 配置中心
10.5 本章小结
第11章 分支管理
11.1 分支模型的选择
11.1.1 Gitflow
11.1.2 主干开发模型
11.1.3 Aone Flow
11.2 实践Aone Flow的准备工作
11.2.1 分支命名规范
11.2.2 特性分支
11.2.3 与GitLab集成
11.3 Aone Flow的实践
11.3.1 创建第一个特性分支
11.3.2 解决单一代码库分支复用问题
11.3.3 创建发布分支
11.3.4 合并到发布分支
11.3.5 分支冲突与解决
11.3.6 分支上线
11.4 本章小结
第12章 持续集成
12.1 从源码到镜像
12.1.1 手动构建应用镜像
12.1.2 通过Maven插件生成Dockerfile
12.1.3 多阶段构建
12.1.4 标准化构建流程
12.1.5 构建声明式镜像
12.2 CI工具选型
12.2.1 Jenkins还是GitLab CI
12.2.2 GitLab Runner的安装与配置
12.2.3 应用.gitlab-ci.yml初始化
12.3 流水线
12.3.1 如何定义流水线
12.3.2 发布流水线
12.3.3 为什么不支持完全自定义编排
12.4 本章小结
第13章 持续部署
13.1 Kubernetes资源管理
13.1.1 Namespace与集群规划
13.1.2 集群拆分
13.1.3 Kubernetes资源管理
13.2 发布策略
13.2.1 填写部署单
13.2.2 金丝雀发布
13.2.3 分批发布
13.3 优雅发布
13.3.1 容器探针
13.3.2 摘除容器流量
13.4 回滚
13.5 本章小结
第14章 配套工具
14.1 研发工具集成
14.1.1 集成Arthas
14.1.2 Pinpoint链路追踪
14.1.3 Apollo配置中心集成
14.2 特性环境
14.2.1 环境治理
14.2.2 环境申请
14.2.3 流量隔离
14.3 数据驱动优化
14.3.1 找到黄金指标
14.3.2 仪表盘
14.4 本章小结
第四部分 云原生迭代
第15章 从试运行到100%覆盖
15.1 从0开始
15.1.1 内部试点
15.1.2 OS与Omega并存阶段
15.2 从1%到10%
15.2.1 外部宣导:寻找早期用户
15.2.2 横向运营:覆盖新增应用
15.2.3 纵向运营:覆盖某业务线
15.3 从10%到90%
15.3.1 OKR管理
15.3.2 迭代优化
15.4 从90%到100%
15.5 本章小结
第16章 基于Istio的Service Mesh
16.1 Service Mesh
16.1.1 微服务带来的挑战
16.1.2 微服务治理的3种方式
16.1.3 初步了解Istio
16.1.4 Istio提供的三大能力
16.2 开始接入Istio:精准拦截服务的流量
16.2.1 我只想治理HTTP的流量
16.2.2 Inbound和Outbound
16.2.3 设置流量的拦截策略
16.2.4 iptables策略的创建流程和源码分析
16.2.5 精准拦截HTTP流量
16.3 数据面的配置管理
16.3.1 Sidecar注入原理
16.3.2 管理Envoy代理日志
16.3.3 定义容器的启动顺序
16.3.4 注入iptables管理容器
16.4 HTTP的流量治理实践
16.4.1 Istio的数据面Envoy
16.4.2 限速
16.4.3 限流和熔断
16.4.4 平台效果展示
16.5 经验分享和总结
16.6 本章小结
第17章 云原生的得与失
17.1 云原生落地的收益
17.1.1 降本
17.1.2 增效
17.1.3 标准化
17.1.4 组织能力提升
17.2 经验和教训
17.2.1 成功经验
17.2.2 运维侧的教训
17.2.3 开发侧的教训
17.2.4 QA集锦
17.3 展望
17.3.1 资源调度
17.3.2 HPA
17.3.3 冷热部署
17.4 本章小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜