3大模型,搞定Kubernetes网络
Posted 梯度科技
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3大模型,搞定Kubernetes网络相关的知识,希望对你有一定的参考价值。
由于在企业中部署私有云的场景会更普遍,所以在私有云中运行Kubernetes + Docker集群之前,就需要自己搭建符合Kubernetes要求的网络环境。今天就来分享一下Kubernetes中的网络模型。
Kubernetes的网络条件
在Kubernetes中,最小的管理元素不是一个个独立的容器,而是Pod。Kubernetes为Pods的网络通信设定了一些条件和要求:
节点是运行Kubernetes集群的机器。这些可以是虚拟机或物理机,也可以是能够运行Kubernetes的任何其他机器, 这些节点还能够与所有Pod通信,而无需NAT。
Kubernetes的网络模型
为了使用Kubernetes,我们需要解决三个网络挑战:1)容器到容器的网络;2)Pod-to-Pod网络;3)Pod-to-Service网络。
我们通常认为虚拟机的网络通信由直接与之交互的单个以太网设备组成。 然而,情况的现实比这更微妙。
在Linux中,每个正在运行的进程都在网络命名空间内相互通信, 此命名空间为命名空间内包含的所有进程提供新的网络堆栈。 Linux的默认行为是将每个进程分配给根网络命名空间,并在此过程中提供对外部世界的访问。
就每个Pod而言,它存在于自己的以太网命名空间中。 然后,此命名空间需要与位于同一节点上的其他网络命名空间进行通信。 Linux提供了一种使用虚拟以太网设备(VED或“ veth pair ”)连接命名空间的机制。 VED包括一对虚拟接口,为了连接两个Pod名称空间,VED的一侧被分配给根网络名称空间, 然后将veth pair 的另一个成员分配给Pod的网络名称空间。
然后,VED就像一条虚拟电缆,将根网络命名空间连接到Pod的网络命名空间,并允许它们交换数据。
Kubernetes让管理多容器应用程序变得前所未有的简单。现在,基于Kubernetes的容器云平台产品——梯度智能云已发布,想要获取产品试用,欢迎联系。
-END-
以上是关于3大模型,搞定Kubernetes网络的主要内容,如果未能解决你的问题,请参考以下文章
#yyds干货盘点# Kubernetes 搞定网络原来可以如此简单?(25)