kubernets 架构设计 第3章 网络

1. kubernets 的网络模型

kubernets 的网络是从Docker 默认的模型中独立出来形成自己的一套网络模型,该网络模型的目标是每一个pod 都拥有一个扁平化、共享网络空间的IP,通过该IP,pod就能够跨网络与其他物理机或者pod进行网络通信。一个pod一个IP 模型创建了一个干净、反向兼容的模型,在该模型中,从端口分配、网络、域名解析、服务发现、负载均衡、应用配置和迁移等角度,pod都能被看成虚拟机和物理机  -----> 这基本是环境隔离的最高境界


在一个pod 一个IP 的模型中,从网络角度看,在一个pod里面的容器像是在一个宿主机上;相互之间可以通过不同的端口来通信,可以在本地相互访问彼此的端口进行通信【所以这里的pod 类似于一般调度里面里面的物理机器,可以用同一个IP地址多个port 提供服务或者进行通信


2. pod、pod里面的容器、外部的互联网进行通信的原理

  1. 容器->容器或容器<->虚拟机。该场景需要直接使用以10.开头的地址(10.x.x.x),并且不需要用到NAT;
  2. 容器->因特网。容器IP需要映射到主宿主机IP好让GCE知道如何向外发送这些流量。这里就有两层NAT:容器IP->内部宿主机IP->外部主机IP。第一层结合IP表发生在客户容器上,第二层则是GCE网络的一部分。第一层(容器IP->内部宿主机IP)进行了动态端口分配,而第二层的端口映射是1:1的;
  3. 因特网->容器。该场景的流量必须通过主宿主机IP而且理想状态下也拥有两层NAT。但是,目前的流量路径是:外部主机IP -> 内部主机IP -> Docker) -> (Docker -> 容器IP),即Docker是中间代理。一旦(issue #15)被解决,那么就应该是:外部主机IP -> 内部主机IP -> 容器IP。但是,为了实现后者,就必须为每个管理的端口建立端口转发的防火墙(iptables)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值