深入理解Istio:云原生服务网格进阶实战

深入理解Istio:云原生服务网格进阶实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书是云原生社区多位服务网格技术专家的鼎力之作。

内容简介

全书共10章,内容涉及Service Mesh概述、核心功能、架构解析、安装与部署、流量控制、可观察性、安全、进阶实战、故障排查、Service Mesh生态,分别从概念、实践和生态扩展3个层面为读者系统介绍了Istio的相关知识,着重介绍了Istio在1.5版本以后的重大变化,从底层深入剖析了Istio的各项核心功能。

本书能为云计算领域的从业者,尤其是微服务领域的开发者在落地Istio时提供理论指导和实际借鉴。

作者简介

作者云原生社区,服务于云原生终端用户,由宋净超和其他几位云原生技术意见领袖共同发起,成立于2020年5月。云原生社区的前身是ServiceMesher社区,该社区成立于2018年5月,是国内推广服务网格技术的先驱阵地。

云原生社区自成立以来,围绕Kubernetes、Istio、边缘计算、Dapr等云原生相关技术,与从业人员分享优质内容,秉承 “共识、共治、共建、共享” 的原则,组织了多场丰富多彩的线上和线下活动。

章节目录

版权信息

内容简介

本书作者

推荐序

推荐语

前言

第1章 Service Mesh概述

1.1 Service Mesh基本概念

1.2 后Kubernetes时代的微服务

1.2.1 重要观点

1.2.2 Kubernetes与Service Mesh

1.2.3 kube-proxy组件

1.2.4 Kubernetes Ingress与Istio Gateway

1.2.5 xDS协议

1.2.6 Envoy

1.2.7 Istio Service Mesh

1.3 什么是Istio

1.3.1 为什么使用Istio

1.3.2 Istio的平台支持

1.4 本章小结

第2章 核心功能

2.1 流量控制

2.1.1 请求路由和流量转移

2.1.2 弹性功能

2.1.3 调试能力

2.1.4 实现流量控制的自定义资源

2.2 安全

2.2.1 认证

2.2.2 授权

2.3 可观察性

2.4 本章小结

第3章 架构解析

3.1 Istio的架构组成

3.2 Istio的设计目标

3.3 Istio的架构变迁

3.4 控制平面

3.4.1 Pilot

3.4.2 Citadel

3.4.3 Galley

3.5 数据平面

3.5.1 数据平面的概念

3.5.2 Sidecar注入及透明流量劫持

3.5.3 Sidecar流量路由机制分析

3.5.4 Envoy

3.5.5 MOSN

3.6 本章小结

第4章 安装与部署

4.1 安装

4.1.1 环境准备

4.1.2 安装Kubernetes集群

4.1.3 安装Istio

4.2 升级

4.2.1 金丝雀升级

4.2.2 热升级

4.3 Bookinfo 实例

4.3.1 环境准备

4.3.2 部署应用

4.3.3 启动应用服务

4.3.4 确定Ingress的IP地址和端口

4.3.5 集群外部访问应用

4.4 本章小结

第5章 流量控制

5.1 流量控制CRD

5.1.1 VirtualService

5.1.2 DestinationRule

5.1.3 Gateway

5.1.4 ServiceEntry

5.1.5 Sidecar

5.2 路由

5.2.1 VirtualService

5.2.2 路由规则

5.2.3 DestinationRule

5.2.4 Gateway

5.2.5 ServiceEntry

5.3 流量镜像

5.3.1 流量镜像能够做什么

5.3.2 流量镜像的实现原理

5.3.3 流量镜像的配置

5.3.4 流量镜像实践

5.4 Ingress/Egress

5.4.1 Ingress

5.4.2 Egress

5.5 超时

5.6 重试

5.7 熔断

5.8 故障注入

5.8.1 HTTPFaultInjection.Abort

5.8.2 HTTPFaultInjection.Delay

5.9 本章小结

第6章 可观察性

6.1 指标监控

6.1.1 Prometheus

6.1.2 Prometheus配置解析

6.1.3 Prometheus-Istio指标

6.2 可视化

6.2.1 Grafana

6.2.2 Kiali

6.3 日志

6.3.1 传统日志

6.3.2 云原生日志

6.3.3 Istio日志

6.3.4 ELK

6.3.5 EFK

6.4 分布式追踪

6.4.1 Jaeger

6.4.2 Zipkin

6.4.3 SkyWalking

6.5 本章小结

第7章 安全

7.1 认证

7.1.1 对等认证

7.1.2 请求认证

7.2 授权

7.2.1 授权策略

7.2.2 全局策略

7.2.3 局部策略

7.2.4 Match label

7.2.5 匹配算法

7.2.6 规则详解

7.2.7 操作实例

7.2.8 JWT授权

7.3 本章小结

第8章 进阶实战

8.1 集成服务注册中心

8.1.1 Istio服务模型

8.1.2 Pilot服务模型源码分析

8.1.3 第三方服务注册表集成

8.2 对接API网关

8.2.1 Envoy

8.2.2 预备工作

8.2.3 开始监听

8.2.4 一条路由

8.2.5 一个服务

8.3 分布式追踪增强

8.3.1 OpenTracing

8.3.2 OpenTracing概念模型

8.3.3 OpenTracing数据模型

8.3.4 跨进程调用信息传播

8.4 实现方法级别的调用跟踪

8.4.1 Istio的分布式追踪

8.4.2 使用OpenTracing传递分布式跟踪上下文

8.4.3 在Istio中加入方法级别的调用跟踪

8.5 实现Kafka消息跟踪

8.5.1 eshop实例程序结构

8.5.2 将Kafka消息处理加入调用链路跟踪

8.5.3 安装Kafka集群

8.5.4 部署实例应用

8.5.5 将调用跟踪上下文从Kafka传递到REST服务

8.6 部署模型

8.6.1 集群模型与控制平面模型

8.6.2 网络模型

8.6.3 网格模型

8.6.4 身份和信任模型

8.6.5 租户模型

8.7 多集群部署与管理

8.7.1 多控制平面

8.7.2 单控制平面

8.8 智能DNS

8.8.1 待解决问题

8.8.2 功能开启

8.8.3 访问外部服务

8.8.4 自动地址分配

8.8.5 跨集群访问

8.9 本章小结

第9章 故障排查

9.1 常见使用问题

9.1.1 Service端口命名约束

9.1.2 流量控制规则下发顺序问题

9.1.3 请求中断分析

9.1.4 Sidecar和user container的启动顺序

9.1.5 Ingress Gateway和Service端口联动

9.1.6 VirtualService作用域

9.1.7 VirtualService不支持host fragment

9.1.8 全链路跟踪并非完全透明接入

9.1.9 mTLS导致连接中断

9.2 诊断工具

9.2.1 istioctl命令行工具安装

9.2.2 使用proxy-status命令进行诊断

9.2.3 使用proxy-config命令进行诊断

9.2.4 使用analyze命令诊断

9.2.5 启用Galley自动配置分析诊断

9.2.6 采用describe命令验证并理解网格配置

9.2.7 ControlZ自检工具

9.3 本章小结

第10章 Service Mesh生态

10.1 开源项目

10.1.1 Linkerd

10.1.2 Envoy

10.1.3 Istio

10.1.4 Consul Connect

10.1.5 MOSN

10.1.6 Kong Kuma

10.1.7 Aeraki

10.2 商业化项目

10.2.1 AWS

10.2.2 Google

10.2.3 Microsoft

10.2.4 Red Hat

10.2.5 Aspen Mesh

10.2.6 国内项目

10.3 标准

10.3.1 xDS

10.3.2 SMI

10.3.3 UDPA

10.4 扩展

10.4.1 WebAssembly

10.4.2 Contour

10.5 本章小结

深入理解Istio:云原生服务网格进阶实战是2022年由电子工业出版社出版,作者云原生社区。

得书感谢您对《深入理解Istio:云原生服务网格进阶实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
企业级云原生架构:技术、服务与实践 电子书
基于多年的大型项目架构设计实践经验,紧贴主流技术趋势,深入浅出介绍云原生相关技术及产品。
深入理解FFmpeg 电子书
FFmpeg详细介绍及API使用。
深入理解Spring Cloud与微服务构建(第2版) 电子书
作者在Spring Cloud中国社区具有很高的知名度,本书能为提升微服务架构能力带来帮助。
深入理解Java模块系统 电子书
本书从Java模块系统的设计动机和基本概念讲起,一直延伸至其高级特性,介绍了模块系统的基本机制,以及如何创建、构建和运行模块化应用程序。主要内容包括:从源代码到JAR来构建模块、迁移到模块化Java、解耦依赖以及改进API、处理反射和版本、自定义运行时镜像等。
深入理解Zabbix监控系统 电子书
本书深入剖析Zabbix监控系统源码及功能,助力理解核心原理,提供二次开发参考。