0

我正在尝试了解Kubernetes-Operator中的出口流量控制。如果我在我的 k3s 设置中实现 Kubernetes 算子,出口流量在算子中是如何发生的?

我想了解在 Kubernetes 运营商(出口流量的旅程)中发生的出口流量会发生什么路径/网关和路由?

4

1 回答 1

2

作为一般规则,出口流量从托管 Pod 的节点离开您的 SDN。节点会在你的底层网络上使用它自己的 IP 对其进行 NAT。

现在,如果 Egress 你的意思是“离开我的 Pod 的任何东西”/关于留在 SDN 内的通信。请记住:

  • SDN 有两个子网(pod 网络、服务网络),并且您的 pod 网络被分成更小的子网,静态分配给您的 Kubernetes 节点:
  • 服务有(通常/当 spec.clusterIP != None)他们自己的固定 IP。
  • 对于集群中的每个服务,您都有一个 Endpoint 对象,该对象列出了所有具有匹配标签的 Pod,这些 Pod 被认为是“就绪”

连接服务时,节点防火墙(通常为 ipvs 或 iptables,根据 kube-proxy 配置)会将您的连接重定向到相应端点对象中列出的地址之一。此时,您的节点路由表接管:

  • 如果目标地址是本地的(在分配给您的节点的 pod 子网中),则通信是直接的。
  • 如果目标地址属于分配给集群中另一个节点的网络,那么流量将通过您的 SDN 容器(calico、flannel、ovs...)到达目的地。
于 2021-07-22T12:04:35.887 回答