Kubernetes网络权威指南:基础、原理与实践

Kubernetes网络权威指南:基础、原理与实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2019-11
ISBN: 9787121373398
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 348页
72人买过
  • 本书是容器与Kubernetes网络的基础和进阶书籍,旨在让更多人了解和学习云原生时代的底层网络模型与实现机制,指导企业在落地云原生时的网络方案选型。 全书共6章,第1章 Linux网络虚拟化将支撑容器网络的内核技术娓娓道来,第2章简单介绍了Docker网络模型,第3章介绍Kubernetes网络原理与实践,第4章剖析了Kubernetes网络实现机制,第5章详解了业界主流的Kubernetes网络插件生态,第6章重点解析了Istio网络流量管控的背后机制。 
    杜军,浙大SEL实验室硕士,曾任华为云架构师、咨询组专家,容器技术布道师。开源社区自身贡献者与维护着,CNCF TOC Contributor,Kubernetes和Istio双科maintainer,对云计算技术演进与内在驱动力有深刻见解,主要研究方向为容器、微服务、DevOps、边缘计算。 第1章夯实基础:Linux网络虚拟化 1 1.1 网络虚拟化基石:network namespace      1 1.1.1 初识network namespace     2 1.1.2 配置network namespace     3 1.1.3 network namespace API的使用     6 1.1.4 小结   12 1.2 千呼万唤始出来:veth pair    12 1.2.1 veth pair内核实现     14 1.2.2 容器与host veth pair的关系     15 1.2.3 小结   17 1.3 连接你我他:Linux bridge     17 1.3.1 Linux bridge初体验    17 1.3.2 把IP让给Linux bridge   21 1.3.3 将物理网卡添加到Linux bridge    22 1.3.4 Linux bridge在网络虚拟化中的应用    25 1.3.5 网络接口的混杂模式     26 1.4 给用户态一个机会:tun/tap设备    28 1.4.1 tun/tap设备的工作原理  28 1.4.2 利用tun设备部署一个VPN    29 1.4.3 tun设备编程       31 1.5 iptables    34 1.5.1 祖师爷netfilter     34 1.5.2 iptables的三板斧:table、chain和rule    36 1.5.3 iptables的常规武器    39 1.6 初识 Linux 隧道:ipip     45 1.6.1 测试ipip隧道      46 1.6.2 ipip隧道测试结果复盘   49 1.6.3 小结   50 1.7 Linux 隧道网络的代表:VXLAN       51 1.7.1 为什么需要VXLAN      51 1.7.2 VXLAN协议原理简介   52 1.7.3 VXLAN组网必要信息   54 1.7.4 VXLAN基本配置命令   55 1.7.5 VXLAN网络实践     56 1.7.6 分布式控制中心    63 1.7.7 自维护VTEP组    63 1.7.8 小结   68 1.8 物理网卡的分身术:Macvlan    68 1.8.1 Macvlan五大工作模式解析     68 1.8.2 测试使用Macvlan设备   72 1.8.3 Macvlan的跨机通信      73 1.8.4 Macvlan与overlay对比     74 1.8.5 小结   75 1.9 Macvlan的救护员:IPvlan    75 1.9.1 IPvlan简介     75 1.9.2 测试IPvlan     77 1.9.3 Docker IPvlan网络     78 1.9.4 小结   78 
     第2章 饮水思源:Docker网络模型简介 79 2.1 主角登场:Linux容器    79 2.1.1 容器是什么   79 2.1.2 容器与虚拟机对比    80 2.1.3 小结   81 2.2 打开万花筒:Docker的四大网络模式   81 2.2.1 bridge模式    82 2.2.2 host模式    83 2.2.3 container模式    84 2.2.4 none模式   85 2.3 最常用的Docker网络技巧    85 2.3.1 查看容器IP    85 2.3.2 端口映射    86 2.3.3 访问外网   84 2.3.4 DNS和主机名    87 2.3.5 自定义网络  88 2.3.6 发布服务    90 2.3.7 docker link:两两互联   91 2.4 容器网络的第一个标准:CNM  93 2.4.1 CNM标准    93 2.4.2 体验CNM接口    94 2.4.3 Libnetwork  95 2.4.4 Libnetwork扩展   97 2.4.5 小结   98 2.5 天生不易:容器组网的挑战   99 2.5.1 容器网络挑战综述    99 2.5.2 Docker的解决方案    101 2.5.3 第三方容器网络插件   102 2.5.4 小结   103 2.6 如何做好技术选型:容器组网方案沙场点兵   103 2.6.1 隧道方案    104 2.6.2 路由方案    104 2.6.3 容器网络组网类型    106 2.6.4 关于容器网络标准接口  107 2.6.5 小结   108 
     第 3 章 标准的胜利:Kubernetes 网络原理与实践 109 3.1 容器基础设施的代言人:Kubernetes  109 3.1.1 Kubernetes简介    109 3.1.2 Kubernetes能做什么   111 3.1.3 如何用Kubernetes    113 3.1.4 Docker在Kubernetes中的角色    113 3.2 终于等到你:Kubernetes网络  114 3.2.1 Kubernetes网络基础   114 3.2.2 Kubernetes网络架构综述    115 3.2.3 Kubernetes主机内组网模型     117 3.2.4 Kubernetes跨节点组网模型     118 3.2.5 Pod的hosts文件   120 3.2.6 Pod的hostname    121 3.3 Pod的核心:pause容器    124 3.4 打通CNI与Kubernetes:Kubernetes网络驱动   131 3.4.1 即将完成历史使命:Kubenet   131 3.4.2 网络生态第一步:CNI   133 3.5 找到你并不容易:从集群内访问服务   139 3.5.1 Kubernetes Service详解  141 3.5.2 Service的三个port   145 3.5.3 你的服务适合哪种发布形式    146 3.5.4 Kubernetes Service发现  150 3.5.5 特殊的无头Service    151 3.5.6 怎么访问本地服务    153 3.6 找到你并不容易:从集群外访问服务   154 3.6.1 Kubernetes Ingress   155 3.6.2 小结   157 3.7 你的名字:通过域名访问服务   158 3.7.1 DNS服务基本框架    158 3.7.2 域名解析基本原理    159 3.7.3 DNS使用   161 3.7.4 调试DNS   166 3.8 Kubernetes网络策略:为你的应用保驾护航    167 3.8.1 网络策略应用举例    168 3.8.2 小结   172 3.9 前方高能:Kubernetes网络故障定位指南   173 3.9.1 IP转发和桥接   173 3.9.2 Pod CIDR冲突    175 3.9.3 hairpin  176 3.9.4 查看Pod IP地址    176 3.9.5 故障排查工具    178 3.9.6 为什么不推荐使用SNAT     180 
     第 4 章 刨根问底:Kubernetes网络实现机制 183 4.1 岂止iptables:Kubernetes Service官方实现细节探秘     183 4.1.1 userspace模式   184 4.1.2 iptables模式   186 4.1.3 IPVS模式    191 4.1.4 iptables VS. IPVS    198 4.1.5 conntrack    199 4.1.6 小结  200 4.2 Kubernetes极客们的日常:DIY一个Ingress Controller   201 4.2.1 Ingress Controller的通用框架  202 4.2.2 Nginx Ingress Controller详解    202 4.2.3 小结  209 4.3 沧海桑田:Kubernetes DNS架构演进之路    209 4.3.1 Kube-dns的工作原理   209 4.3.2 上位的CoreDNS    212 4.3.3 Kube-dns VS. CoreDNS   217 4.3.4 小结  220 4.4 你的安全我负责:使用Calico提供Kubernetes网络策略   220 4.4.1 部署一个带Calico的Kubernetes集群   221 4.4.2 测试Calico网络策略   225 
     第5章 百花齐放:Kubernetes网络插件生态 228 5.1 从入门到放弃:Docker原生网络的不足   228 5.2 CNI标准的胜出:从此江湖没有CNM    229 5.2.1 CNI与CNM的转换   230 5.2.2 CNI的工作原理   231 5.2.3 为什么Kubernetes不使用Libnetwork   235 5.3 Kubernetes网络插件鼻祖flannel     238 5.3.1 flannel简介   239 5.3.2 flannel安装配置    241 5.3.3 flannel backend详解   244 5.3.4 flannel与etcd    256 5.3.5 小结  257 5.4 全能大三层网络插件:Calico   257 5.4.1 Calico简介    258 5.4.2 Calico的隧道模式   263 5.4.3 安装Calico    263 5.4.4 Calico报文路径    264 5.4.5 Calico使用指南    267 5.4.6 为什么Calico网络选择BGP    272 5.4.7 小结  274 5.5 Weave:支持数据加密的网络插件    276 5.5.1 Weave简介   276 5.5.2 Weave实现原理   277 5.5.3 Weave安装   278 5.5.4 Weave网络通信模型   280 5.5.5 Weave的应用示例   282 5.5.6 小结  288 5.6 Cilium:为微服务网络连接安全而生    288 5.6.1 为什么使用Cilium   289 5.6.2 以API为中心的微服务安全    294 5.6.3 BPF优化的数据平面性能    295 5.6.4 试用Cilium:网络策略  297 5.6.5 小结  299 5.7 Kubernetes多网络的先行者:CNI-Genie    299 5.7.1 为什么需要CNI-Genie  300 5.7.2 CNI-Genie功能速递   302 5.7.3 容器多IP    303 
     第6章 Kubernetes网络下半场:Istio  305 6.1 微服务架构的大地震:sidecar模式    305 6.1.1 你真的需要 Service Mesh吗   306 6.1.2 sidecar模式    307 6.1.3 Service Mesh与sidecar   307 6.1.4 Kubernetes Service VS. Service Mesh    309 6.1.5 Service Mesh典型实现之Linkerd    310 6.2 Istio:引领新一代微服务架构潮流   312 6.2.1 Istio简介    312 6.2.2 Istio安装    313 6.2.3 Istio路由规则的实现   317 6.3 一切尽在不言中:Istio sidecar透明注入   319 6.3.1 Init容器  319 6.3.2 sideca注入示例    319 6.3.3 手工注入sidecar    326 6.3.4 自动注入sidecar   327 6.3.5 从应用容器到sidecar代理的通信   329 6.4 不再为iptables脚本所困:Istio CNI插件    330 6.5 除了微服务,Istio还能做更多   331 
  • 内容简介:
    本书是容器与Kubernetes网络的基础和进阶书籍,旨在让更多人了解和学习云原生时代的底层网络模型与实现机制,指导企业在落地云原生时的网络方案选型。 全书共6章,第1章 Linux网络虚拟化将支撑容器网络的内核技术娓娓道来,第2章简单介绍了Docker网络模型,第3章介绍Kubernetes网络原理与实践,第4章剖析了Kubernetes网络实现机制,第5章详解了业界主流的Kubernetes网络插件生态,第6章重点解析了Istio网络流量管控的背后机制。 
  • 作者简介:
    杜军,浙大SEL实验室硕士,曾任华为云架构师、咨询组专家,容器技术布道师。开源社区自身贡献者与维护着,CNCF TOC Contributor,Kubernetes和Istio双科maintainer,对云计算技术演进与内在驱动力有深刻见解,主要研究方向为容器、微服务、DevOps、边缘计算。
  • 目录:
    第1章夯实基础:Linux网络虚拟化 1 1.1 网络虚拟化基石:network namespace      1 1.1.1 初识network namespace     2 1.1.2 配置network namespace     3 1.1.3 network namespace API的使用     6 1.1.4 小结   12 1.2 千呼万唤始出来:veth pair    12 1.2.1 veth pair内核实现     14 1.2.2 容器与host veth pair的关系     15 1.2.3 小结   17 1.3 连接你我他:Linux bridge     17 1.3.1 Linux bridge初体验    17 1.3.2 把IP让给Linux bridge   21 1.3.3 将物理网卡添加到Linux bridge    22 1.3.4 Linux bridge在网络虚拟化中的应用    25 1.3.5 网络接口的混杂模式     26 1.4 给用户态一个机会:tun/tap设备    28 1.4.1 tun/tap设备的工作原理  28 1.4.2 利用tun设备部署一个VPN    29 1.4.3 tun设备编程       31 1.5 iptables    34 1.5.1 祖师爷netfilter     34 1.5.2 iptables的三板斧:table、chain和rule    36 1.5.3 iptables的常规武器    39 1.6 初识 Linux 隧道:ipip     45 1.6.1 测试ipip隧道      46 1.6.2 ipip隧道测试结果复盘   49 1.6.3 小结   50 1.7 Linux 隧道网络的代表:VXLAN       51 1.7.1 为什么需要VXLAN      51 1.7.2 VXLAN协议原理简介   52 1.7.3 VXLAN组网必要信息   54 1.7.4 VXLAN基本配置命令   55 1.7.5 VXLAN网络实践     56 1.7.6 分布式控制中心    63 1.7.7 自维护VTEP组    63 1.7.8 小结   68 1.8 物理网卡的分身术:Macvlan    68 1.8.1 Macvlan五大工作模式解析     68 1.8.2 测试使用Macvlan设备   72 1.8.3 Macvlan的跨机通信      73 1.8.4 Macvlan与overlay对比     74 1.8.5 小结   75 1.9 Macvlan的救护员:IPvlan    75 1.9.1 IPvlan简介     75 1.9.2 测试IPvlan     77 1.9.3 Docker IPvlan网络     78 1.9.4 小结   78 
     第2章 饮水思源:Docker网络模型简介 79 2.1 主角登场:Linux容器    79 2.1.1 容器是什么   79 2.1.2 容器与虚拟机对比    80 2.1.3 小结   81 2.2 打开万花筒:Docker的四大网络模式   81 2.2.1 bridge模式    82 2.2.2 host模式    83 2.2.3 container模式    84 2.2.4 none模式   85 2.3 最常用的Docker网络技巧    85 2.3.1 查看容器IP    85 2.3.2 端口映射    86 2.3.3 访问外网   84 2.3.4 DNS和主机名    87 2.3.5 自定义网络  88 2.3.6 发布服务    90 2.3.7 docker link:两两互联   91 2.4 容器网络的第一个标准:CNM  93 2.4.1 CNM标准    93 2.4.2 体验CNM接口    94 2.4.3 Libnetwork  95 2.4.4 Libnetwork扩展   97 2.4.5 小结   98 2.5 天生不易:容器组网的挑战   99 2.5.1 容器网络挑战综述    99 2.5.2 Docker的解决方案    101 2.5.3 第三方容器网络插件   102 2.5.4 小结   103 2.6 如何做好技术选型:容器组网方案沙场点兵   103 2.6.1 隧道方案    104 2.6.2 路由方案    104 2.6.3 容器网络组网类型    106 2.6.4 关于容器网络标准接口  107 2.6.5 小结   108 
     第 3 章 标准的胜利:Kubernetes 网络原理与实践 109 3.1 容器基础设施的代言人:Kubernetes  109 3.1.1 Kubernetes简介    109 3.1.2 Kubernetes能做什么   111 3.1.3 如何用Kubernetes    113 3.1.4 Docker在Kubernetes中的角色    113 3.2 终于等到你:Kubernetes网络  114 3.2.1 Kubernetes网络基础   114 3.2.2 Kubernetes网络架构综述    115 3.2.3 Kubernetes主机内组网模型     117 3.2.4 Kubernetes跨节点组网模型     118 3.2.5 Pod的hosts文件   120 3.2.6 Pod的hostname    121 3.3 Pod的核心:pause容器    124 3.4 打通CNI与Kubernetes:Kubernetes网络驱动   131 3.4.1 即将完成历史使命:Kubenet   131 3.4.2 网络生态第一步:CNI   133 3.5 找到你并不容易:从集群内访问服务   139 3.5.1 Kubernetes Service详解  141 3.5.2 Service的三个port   145 3.5.3 你的服务适合哪种发布形式    146 3.5.4 Kubernetes Service发现  150 3.5.5 特殊的无头Service    151 3.5.6 怎么访问本地服务    153 3.6 找到你并不容易:从集群外访问服务   154 3.6.1 Kubernetes Ingress   155 3.6.2 小结   157 3.7 你的名字:通过域名访问服务   158 3.7.1 DNS服务基本框架    158 3.7.2 域名解析基本原理    159 3.7.3 DNS使用   161 3.7.4 调试DNS   166 3.8 Kubernetes网络策略:为你的应用保驾护航    167 3.8.1 网络策略应用举例    168 3.8.2 小结   172 3.9 前方高能:Kubernetes网络故障定位指南   173 3.9.1 IP转发和桥接   173 3.9.2 Pod CIDR冲突    175 3.9.3 hairpin  176 3.9.4 查看Pod IP地址    176 3.9.5 故障排查工具    178 3.9.6 为什么不推荐使用SNAT     180 
     第 4 章 刨根问底:Kubernetes网络实现机制 183 4.1 岂止iptables:Kubernetes Service官方实现细节探秘     183 4.1.1 userspace模式   184 4.1.2 iptables模式   186 4.1.3 IPVS模式    191 4.1.4 iptables VS. IPVS    198 4.1.5 conntrack    199 4.1.6 小结  200 4.2 Kubernetes极客们的日常:DIY一个Ingress Controller   201 4.2.1 Ingress Controller的通用框架  202 4.2.2 Nginx Ingress Controller详解    202 4.2.3 小结  209 4.3 沧海桑田:Kubernetes DNS架构演进之路    209 4.3.1 Kube-dns的工作原理   209 4.3.2 上位的CoreDNS    212 4.3.3 Kube-dns VS. CoreDNS   217 4.3.4 小结  220 4.4 你的安全我负责:使用Calico提供Kubernetes网络策略   220 4.4.1 部署一个带Calico的Kubernetes集群   221 4.4.2 测试Calico网络策略   225 
     第5章 百花齐放:Kubernetes网络插件生态 228 5.1 从入门到放弃:Docker原生网络的不足   228 5.2 CNI标准的胜出:从此江湖没有CNM    229 5.2.1 CNI与CNM的转换   230 5.2.2 CNI的工作原理   231 5.2.3 为什么Kubernetes不使用Libnetwork   235 5.3 Kubernetes网络插件鼻祖flannel     238 5.3.1 flannel简介   239 5.3.2 flannel安装配置    241 5.3.3 flannel backend详解   244 5.3.4 flannel与etcd    256 5.3.5 小结  257 5.4 全能大三层网络插件:Calico   257 5.4.1 Calico简介    258 5.4.2 Calico的隧道模式   263 5.4.3 安装Calico    263 5.4.4 Calico报文路径    264 5.4.5 Calico使用指南    267 5.4.6 为什么Calico网络选择BGP    272 5.4.7 小结  274 5.5 Weave:支持数据加密的网络插件    276 5.5.1 Weave简介   276 5.5.2 Weave实现原理   277 5.5.3 Weave安装   278 5.5.4 Weave网络通信模型   280 5.5.5 Weave的应用示例   282 5.5.6 小结  288 5.6 Cilium:为微服务网络连接安全而生    288 5.6.1 为什么使用Cilium   289 5.6.2 以API为中心的微服务安全    294 5.6.3 BPF优化的数据平面性能    295 5.6.4 试用Cilium:网络策略  297 5.6.5 小结  299 5.7 Kubernetes多网络的先行者:CNI-Genie    299 5.7.1 为什么需要CNI-Genie  300 5.7.2 CNI-Genie功能速递   302 5.7.3 容器多IP    303 
     第6章 Kubernetes网络下半场:Istio  305 6.1 微服务架构的大地震:sidecar模式    305 6.1.1 你真的需要 Service Mesh吗   306 6.1.2 sidecar模式    307 6.1.3 Service Mesh与sidecar   307 6.1.4 Kubernetes Service VS. Service Mesh    309 6.1.5 Service Mesh典型实现之Linkerd    310 6.2 Istio:引领新一代微服务架构潮流   312 6.2.1 Istio简介    312 6.2.2 Istio安装    313 6.2.3 Istio路由规则的实现   317 6.3 一切尽在不言中:Istio sidecar透明注入   319 6.3.1 Init容器  319 6.3.2 sideca注入示例    319 6.3.3 手工注入sidecar    326 6.3.4 自动注入sidecar   327 6.3.5 从应用容器到sidecar代理的通信   329 6.4 不再为iptables脚本所困:Istio CNI插件    330 6.5 除了微服务,Istio还能做更多   331 
查看详情
相关图书 / 更多
Kubernetes网络权威指南:基础、原理与实践
Kubernetes实战:构建生产级应用平台
[美]约翰·哈里斯 著;[美]乔希·罗索;[美]里奇·兰德;[美]亚历山大·布兰德
Kubernetes网络权威指南:基础、原理与实践
Kubernetes修炼手册
[英]奈吉尔·波尔顿(Nigel Poulton)
Kubernetes网络权威指南:基础、原理与实践
Kubernetes操作器
[美]詹森·多比斯(Jason Dobies);[美]约书亚·伍德(Joshua Wood);马晶慧
Kubernetes网络权威指南:基础、原理与实践
Kubernetes编程
[美]迈克尔·豪森布拉斯(Michael Hausenblas) 著;李凡希、任震宇 译
Kubernetes网络权威指南:基础、原理与实践
Kubernetes原生微服务开发
肯·芬尼根(Ken Finnigan)著 陈计节 张圣奇 译;[美]约翰·克林甘(John Clingan)
Kubernetes网络权威指南:基础、原理与实践
Kubernetes快速进阶与实战
艾叔
Kubernetes网络权威指南:基础、原理与实践
Kubernetes从入门到DevOps企业应用实战
韩先超
Kubernetes网络权威指南:基础、原理与实践
Kubernetes Operator开发进阶
胡涛(Daniel Hu) 编著
Kubernetes网络权威指南:基础、原理与实践
Kubernetes快速入门
[英]奈吉尔·波尔顿(Nigel Poulton)
Kubernetes网络权威指南:基础、原理与实践
Kubeflow学习指南:生产级机器学习系统实现
[美]特雷弗·格兰特 (加)霍尔顿·卡劳 (俄)鲍里斯·卢布林斯基 (美)理查德·刘 (美)伊兰·菲洛年科
Kubernetes网络权威指南:基础、原理与实践
Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)
龚正
Kubernetes网络权威指南:基础、原理与实践
Kubernetes即学即用(第二版)
布兰登·柏恩思;乔·贝达;凯尔西·海托华;马晶慧
您可能感兴趣 / 更多