云原生之深入解析Kubernetes网络流量的流转路径

一、Kubernetes 网络要求

  • Kubernetes 网络模型定义了一组基本规则:
    • 在不使用网络地址转换 (NAT) 的情况下,集群中的 Pod 能够与任意其他 Pod 进行通信;
    • 在不使用网络地址转换 (NAT) 的情况下,在集群节点上运行的程序能与同一节点上的任何 Pod 进行通信;
    • 每个 Pod 都有自己的 IP 地址(IP-per-Pod),并且任意其他 Pod 都可以通过相同的这个地址访问它。
  • 这些要求,不会将具体实现限制在某种解决方案上。相反,它们笼统地描述了集群网络的特性,为了满足这些限制,必须解决以下挑战:
    • 如何确保同一个 Pod 中的容器行为就像它们在同一个主机上一样?
    • 集群中的 Pod 能否访问其他 Pod?
    • Pod 可以访问服务吗?服务是负载均衡的吗?
    • Pod 可以接收集群外部的流量吗?

二、Linux 网络命名空间如何在 Pod 中工作 ?

  • 来看一个运行应用的主容器和伴随一起的另一个容器,在示例中,有一个带有 nginx 和 busybox 容器的 Pod:
apiVersion

你可能感兴趣的:(人工智能与云原生,云原生,Kubernetes,网络要求,容器如何在本地或Pod内通信,相同节点和不同节点上Pod通信,如何发送流量到服务后面Pod)