为你推荐
书名页
内容简介
版权页
自序
第1章 夯实基础:Linux网络虚拟化
1.1 网络虚拟化基石:network namespace
1.1.1 初识network namespace
1.1.2 配置network namespace
1.1.3 network namespace API的使用
1.1.4 小结
1.2 千呼万唤始出来:veth pair
1.2.1 veth pair内核实现
1.2.2 容器与host veth pair的关系
1.2.3 小结
1.3 连接你我他:Linux bridge
1.3.1 Linux bridge初体验
1.3.2 把IP让给Linux bridge
1.3.3 将物理网卡添加到Linux bridge
1.3.4 Linux bridge在网络虚拟化中的应用
1.3.5 网络接口的混杂模式
1.4 给用户态一个机会:tun/tap设备
1.4.1 tun/tap设备的工作原理
1.4.2 利用tun设备部署一个VPN
1.4.3 tun设备编程
1.5 iptables
1.5.1 祖师爷netfilter
1.5.2 iptables的三板斧:table、chain和rule
1.5.3 iptables的常规武器
1.6 初识Linux隧道:ipip
1.6.1 测试ipip隧道
1.6.2 ipip隧道测试结果复盘
1.6.3 小结
1.7 Linux隧道网络的代表:VXLAN
1.7.1 为什么需要VXLAN
1.7.2 VXLAN协议原理简介
1.7.3 VXLAN组网必要信息
1.7.4 VXLAN基本配置命令
1.7.5 VXLAN网络实践
1.7.6 分布式控制中心
1.7.7 自维护VTEP组
1.7.8 小结
1.8 物理网卡的分身术:Macvlan
1.8.1 Macvlan五大工作模式解析
1.8.2 测试使用Macvlan设备
1.8.3 Macvlan的跨机通信
1.8.4 Macvlan与overlay对比
1.8.5 小结
1.9 Macvlan的救护员:IPvlan
1.9.1 IPvlan简介
1.9.2 测试IPvlan
1.9.3 Docker IPvlan网络
1.9.4 小结
第2章 饮水思源:Docker网络模型简介
2.1 主角登场:Linux容器
2.1.1 容器是什么
2.1.2 容器与虚拟机对比
2.1.3 小结
2.2 打开万花筒:Docker的四大网络模式
2.2.1 bridge模式
2.2.2 host模式
2.2.3 container模式
2.2.4 none模式
2.3 最常用的Docker网络技巧
2.3.1 查看容器IP
2.3.2 端口映射
2.3.3 访问外网
2.3.4 DNS和主机名
2.3.5 自定义网络
2.3.6 发布服务
2.3.7 docker link:两两互联
2.4 容器网络的第一个标准:CNM
2.4.1 CNM标准
2.4.2 体验CNM接口
2.4.3 Libnetwork
2.4.4 Libnetwork扩展
2.4.5 小结
2.5 天生不易:容器组网的挑战
2.5.1 容器网络挑战综述
2.5.2 Docker的解决方案
2.5.3 第三方容器网络插件
2.5.4 小结
2.6 如何做好技术选型:容器组网方案沙场点兵
2.6.1 隧道方案
2.6.2 路由方案
2.6.3 容器网络组网类型
2.6.4 关于容器网络标准接口
2.6.5 小结
第3章 标准的胜利:Kubernetes网络原理与实践
3.1 容器基础设施的代言人:Kubernetes
3.1.1 Kubernetes简介
3.1.2 Kubernetes能做什么
3.1.3 如何用Kubernetes
3.1.4 Docker在Kubernetes中的角色
3.2 终于等到你:Kubernetes网络
3.2.1 Kubernetes网络基础
3.2.2 Kubernetes网络架构综述
3.2.3 Kubernetes主机内组网模型
3.2.4 Kubernetes跨节点组网模型
3.2.5 Pod的hosts文件
3.2.6 Pod的hostname
3.3 Pod的核心:pause容器
3.4 打通CNI与Kubernetes:Kubernetes网络驱动
3.4.1 即将完成历史使命:Kubenet
3.4.2 网络生态第一步:CNI
3.5 找到你并不容易:从集群内访问服务
3.5.1 Kubernetes Service详解
3.5.2 Service的三个port
3.5.3 你的服务适合哪种发布形式
3.5.4 Kubernetes Service发现
3.5.5 特殊的无头Service
3.5.6 怎么访问本地服务
3.6 找到你并不容易:从集群外访问服务
3.6.1 Kubernetes Ingress
3.6.2 小结
3.7 你的名字:通过域名访问服务
3.7.1 DNS服务基本框架
3.7.2 域名解析基本原理
3.7.3 DNS使用
3.7.4 调试DNS
3.8 Kubernetes网络策略:为你的应用保驾护航
3.8.1 网络策略应用举例
3.8.2 小结
3.9 前方高能:Kubernetes网络故障定位指南
3.9.1 IP转发和桥接
3.9.2 Pod CIDR冲突
3.9.3 hairpin
3.9.4 查看Pod IP地址
3.9.5 故障排查工具
3.9.6 为什么不推荐使用SNAT
第4章 刨根问底:Kubernetes网络实现机制
4.1 岂止iptables:Kubernetes Service官方实现细节探秘
4.1.1 userspace模式
4.1.2 iptables模式
4.1.3 IPVS模式
4.1.4 iptables VS.IPVS
4.1.5 conntrack
4.1.6 小结
4.2 Kubernetes极客们的日常:DIY一个Ingress Controller
4.2.1 Ingress Controller的通用框架
4.2.2 Nginx Ingress Controller详解
4.2.3 小结
4.3 沧海桑田:Kubernetes DNS架构演进之路
4.3.1 Kube-dns的工作原理
4.3.2 上位的CoreDNS
4.3.3 Kube-dns VS.CoreDNS
4.3.4 小结
4.4 你的安全我负责:使用Calico提供Kubernetes网络策略
4.4.1 部署一个带Calico的Kubernetes集群
4.4.2 测试Calico网络策略
第5章 百花齐放:Kubernetes网络插件生态
5.1 从入门到放弃:Docker原生网络的不足
5.2 CNI标准的胜出:从此江湖没有CNM
5.2.1 CNI与CNM的转换
5.2.2 CNI的工作原理
5.2.3 为什么Kubernetes不使用Libnetwork
5.3 Kubernetes网络插件鼻祖flannel
5.3.1 flannel简介
5.3.2 flannel安装配置
5.3.3 flannel backend详解
5.3.4 flannel与etcd
5.3.5 小结
5.4 全能大三层网络插件:Calico
5.4.1 Calico简介
5.4.2 Calico的隧道模式
5.4.3 安装Calico
5.4.4 Calico报文路径
5.4.5 Calico使用指南
5.4.6 为什么Calico网络选择BGP
5.4.7 小结
5.5 Weave:支持数据加密的网络插件
5.5.1 Weave简介
5.5.2 Weave实现原理
5.5.3 Weave安装
5.5.4 Weave网络通信模型
5.5.5 Weave的应用示例
5.5.6 小结
5.6 Cilium:为微服务网络连接安全而生
5.6.1 为什么使用Cilium
5.6.2 以API为中心的微服务安全
5.6.3 BPF优化的数据平面性能
5.6.4 试用Cilium:网络策略
5.6.5 小结
5.7 Kubernetes多网络的先行者:CNI-Genie
5.7.1 为什么需要CNI-Genie
5.7.2 CNI-Genie功能速递
5.7.3 容器多IP
第6章 Kubernetes网络下半场:Istio
6.1 微服务架构的大地震:sidecar模式
6.1.1 你真的需要Service Mesh吗
6.1.2 sidecar模式
6.1.3 Service Mesh与sidecar
6.1.4 Kubernetes Service VS.Service Mesh
6.1.5 Service Mesh典型实现之Linkerd
6.2 Istio:引领新一代微服务架构潮流
6.2.1 Istio简介
6.2.2 Istio安装
6.2.3 Istio路由规则的实现
6.3 一切尽在不言中:Istio sidecar透明注入
6.3.1 Init容器
6.3.2 sidecar注入示例
6.3.3 手工注入sidecar
6.3.4 自动注入sidecar
6.3.5 从应用容器到sidecar代理的通信
6.4 不再为iptables脚本所困:Istio CNI插件
6.5 除了微服务,Istio还能做更多
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜