本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

报码:【j2开奖】Kubernetes初探:网络技术原理(2)

时间:2016-12-30 14:54来源:报码现场 作者:www.wzatv.cc 点击:
第二个容器和第一个容器共享网络命名空间。第一个容器是Netowrk Container,它不做任何事情,只是用来接管Pod 的网络。这样做的好处在于避免容器间的相互

  第二个容器和第一个容器共享网络命名空间。第一个容器是Netowrk Container,它不做任何事情,只是用来接管Pod 的网络。这样做的好处在于避免容器间的相互依赖,使用一个简单的容器来统一管理网络。

  Pod 间的通信

  Pod 间的通信使用的是一个内部IP,这个IP就是Network Container 的IP。

  以dashboard 为例:

报码:【j2开奖】Kubernetes初探:网络技术原理

  同一个Node 上的Pod 通过Veth 连接在同一个docker0 网桥上,地址段相同,原生能通信。但是不同Node 之间的Pod 如何通信的,本质是在网路上再架设一层overlay network 使容器的网络运行在这层overlay 网络上。现有的方案有Flannel,OpenVSwitch,Weave 等。本文Kubernetes 环境是采用Flannel。

  Flannel 使用Linux 通用TUN/ TAP 设备, 并使用UDP 封装IP 数据包创建一个覆盖网络。它使用etcd 维护子网的分配和overlay 网络和实际IP 的映射。

  下图是Flannel 的原理图:

报码:【j2开奖】Kubernetes初探:网络技术原理

  Pod 到Service 通信

  查看dashboard 的Service 的VIP(Virtual IP) 和后端Pod 的IP:

报码:【j2开奖】Kubernetes初探:网络技术原理

  那么dashboard 就可以通过10.254.104.235来进行访问,执行iptables-save:

  然后执行lsof –i:30250:

  可以看到Kube-Proxy 进程监听在30250端口上,这个进程可以看做是Service 的透明代理兼负载均衡器,对于Service 的访问请求将被这个进程转发到后端Pod。

  对于Pod 的变化会及时刷新。那么Service 就是在Pod 间起到中转和代理的作用。

  下图中可以很好的反映整个流程:

报码:【j2开奖】Kubernetes初探:网络技术原理

  当一个客户端访问这个Service 时,这些iptable 规则就开始起作用,客户端的流量被重定向到Kube-Proxy 为这个Service 打开的端口上,Kube-Proxy 随机选择一个后端Pod 来进行服务。

  外部到内部的通信

  Kubernetes 支持两种对外服务的Service 的Type 定义:NodePort 和LoadBalancer。

NodePort:在每个Node 上打开一个端口并且每个Node 的端口都是一样的,通过:NodePort 的方式,Kubernetes 集群外部的程序可以访问Service;

LoadBalancer:通过外部的负载均衡器来访问。

  参考:

https://github.com/kubernetes/kubernetes/blob/v1.0.1/docs/design/networking.md

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容