什么是Ingress网络,它是如何工作的?

参与9

2同行回答

youki2008youki2008  系统架构师 , DDT
Ingress是独立于service的一种单独的资源。它通过配置load balancer可以完成 基于TLS termination,virtual hosts和 path-based 路由规则的转发。同时它可以设置一个load balancer完成多个service的功能。显示全部

Ingress是独立于service的一种单独的资源。它通过配置load balancer可以完成 基于TLS termination,virtual hosts和 path-based 路由规则的转发。同时它可以设置一个load balancer完成多个service的功能。

收起
互联网服务 · 2020-04-25
浏览1769
zzhengleizzhenglei  技术经理 , 某保险
Ingress网络是一组规则,充当Kubernetes集群的入口点。这允许入站连接,可以将其配置为通过可访问的URL,负载平衡流量或通过提供基于名称的虚拟主机从外部提供服务。因此,Ingress是一个API对象,通常通过HTTP管理集群中服务的外部访问,是暴露服务的最有效方式。现在,让我以一个例子...显示全部

Ingress网络是一组规则,充当Kubernetes集群的入口点。这允许入站连接,可以将其配置为通过可访问的URL,负载平衡流量或通过提供基于名称的虚拟主机从外部提供服务。因此,Ingress是一个API对象,通常通过HTTP管理集群中服务的外部访问,是暴露服务的最有效方式。

现在,让我以一个例子向您解释Ingress网络的工作。

有2个节点具有带有Linux桥接器的pod和根网络命名空间。除此之外,还有一个名为flannel0(网络插件)的新虚拟以太网设备被添加到根网络中。

现在,假设我们希望数据包从pod1流向pod 4.请参阅下图。

  • 因此,数据包将pod1的网络保留在eth0,并进入veth0的根网络。
  • 然后它被传递给cbr0,这使得ARP请求找到目的地,并且发现该节点上没有人具有目的地IP地址。
  • 因此,桥接器将数据包发送到flannel0,因为节点的路由表配置了flannel0。
  • 现在,flannel守护程序与Kubernetes的API服务器通信,以了解所有pod IP及其各自的节点,以创建pods IP到节点IP的映射。
  • 网络插件将此数据包封装在UDP数据包中,其中额外的标头将源和目标IP更改为各自的节点,并通过eth0发送此数据包。
  • 现在,由于路由表已经知道如何在节点之间路由流量,因此它将数据包发送到目标节点2。
  • 数据包到达node2的eth0并返回到flannel0以解封装并在根网络命名空间中将其发回。
  • 同样,数据包被转发到Linux网桥以发出ARP请求以找出属于veth1的IP。
  • 数据包最终穿过根网络并到达目标Pod4。
收起
保险 · 2020-02-11
浏览2114

提问者

zhanchen017
系统工程师某证券
擅长领域: 云计算容器容器云

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-02-11
  • 关注会员:4 人
  • 问题浏览:3601
  • 最近回答:2020-04-25
  • X社区推广