You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
目前,包括官方文档在内的大多数 Kubernetes 资料都聚焦于“怎么做”,鲜有对“为什么这么做”进行解释。自 2015 年起,Google 陆续发布了《Borg, Omega, and Kubernetes》及《Large-scale cluster management at Google with Borg》等论文,分享了开发和运维 Borg、Omega 和 Kubernetes 系统的经验与教训。本章,笔者将从这几篇论文着手,介绍 Google 内部容器系统是怎么演变的。汲取背后的设计思想后,再来深入理解 Kubernetes 关于资源模型、网络通信、持久化存储、编排调度等方面的设计原理和应用。本章内容安排如图 7-0 所示。
15
+
目前,包括官方文档在内的大多数 Kubernetes 资料都聚焦于“怎么做”,鲜有对“为什么这么做”进行解释。自 2015 年起,Google 陆续发布了《Borg, Omega, and Kubernetes》及《Large-scale cluster management at Google with Borg》等论文,分享了开发和运维 Borg、Omega 和 Kubernetes 系统的经验与教训。本章,笔者将从这几篇论文着手,介绍 Google 内部容器系统是怎么演变的。汲取背后的设计思想后,再来深入理解 Kubernetes 中 关于容器设计模式、网络通信、持久化存储、资源模型和编排调度等方面的设计和应用。本章内容安排如图 7-0 所示。
自定义链可以看作是对调用它的链的扩展。例如,自定义链结束的时候,可以返回内置链,也可以再继续跳转到其他自定义链。自定义链的设计使 iptables 不仅仅只是一个 IP 包过滤工具,还在容器网络中也扮演了重要的角色。如 Kubernetes 的核心组件 kube-proxy,利用自定义链实现了 Service 功能。
通过以上实验,我们验证了使用 Linux bridge 可以将多个命名空间连接到同一个二层网络中。你可能注意到,我们只为 veth 在命名空间内的一端分配了 IP 地址,而未为连接到 bridge 的那一端分配地址。这是因为 bridge 工作在二层(数据链路层),仅处理以太网帧,包括 ARP 解析、以太网帧的转发和泛洪。
69
69
70
-
与物理二层交换机不同,Linux bridge 本质上是 Linux 系统中的虚拟网络设备,因此具备网卡的特征,可以配置 MAC 和 IP 地址。从主机的角度来看,配置了 IP 的 Linux bridge 设备就相当于主机上的一张网卡,能够参与路由和转发。因此,当将网络命名空间的默认网关设置为该 IP 时,原本隔离的网络命名空间就能与主机进行网络通信。
70
+
与物理二层交换机不同,Linux bridge 本质上是 Linux 系统中的虚拟网络设备,因此具备网卡的特征,可以配置 MAC 和 IP 地址。从主机的角度来看,配置了 IP 的 Linux bridge 设备就相当于主机上的一张网卡,自然能够参与数据包的路由和转发。因此,将网络命名空间的默认网关设置为 Linux bridge 的 IP 后,原本被隔离的网络命名空间就能与主机进行网络通信。
在第二章,我们研究了请求怎么到达后端系统。这一章,进一步就请求达到 Linux 系统后的过程展开讨论。
12
12
13
-
为此,我们将深入 Linux 内核网络,层层推进。首先,解析 Linux 内核中的数据包处理机制,理解 Linux 内核一些核心模块如何密切协作,以及它们对应用层设计产生的影响。然后,讨论 Linux 内核在密集网络系统下的瓶颈,并探讨业内一些“跨内核”的解决方案。最后,我们还要学习一些与虚拟化网络相关的协议和虚拟设备技术,这些是后续章节(负载均衡、容器网络、服务网格)等高级应用的基石。
13
+
我们将深入 Linux 内核网络技术,根据数据包在 Linux 内核中的处理过程层层推进。解析 Linux 内核中关键模块(将介绍 netfilter、iptables 以及 conntrack)如何密切协作,以及它们对应用程序产生的影响。接着,讨论 Linux 内核在密集网络系统下的瓶颈,并探索业内一些“跨内核”思想的解决方案(将介绍 DPDK、RDMA 和 eBPF 技术)。最后,我们将学习一些与虚拟化网络相关的技术,这些内容是后续章节(负载均衡、容器网络、服务网格)等高级应用的基石。
0 commit comments