k8s学习记录4_通讯原理

1,通讯方式,k8s网络模型是期望pod在一个直接连通的扁平的网络空间中。

            从pod角度来看是所有pod都可以通过ip“直接”到达。直接加引号,下面会看到如何实现。

2,openstack中使用了ovs+trunk的方式实现了扁平化网络,待会后面会对比k8s的实现方式,大同小异,都是报头跟udp。

3,同一个pod之间通过pause,用同一个网卡跟io可以直接访问。

4,pod跟service之间,主要通过ipTables规则,最新版本已经可以使用lvs。

5, 跨节点之间的pod之间的交互,首先在扁平化网络中,它们的ip是不能冲突的,因此全集群唯一。

6,跨主机的pod之间的通信,进行了一层封装,docker内部甚至不感知,主要是分为innerIP和outerIP通过upd的方式在局域网里广播。

7,ETCD中存储了IP映射信息,还有就是docker中不会存数据,全部存在etcd中,因此一个pod挂了也没事,让另外一个执行就好了。

8,总结:同个pod内,共享网络命名空间;

pod1->pod2使用inner和outer加报头形式转发,

pod到service主要是iptables,最新的使用了lvs。

pod访问外网:路由等

外网访问pod:service

 

9,可参加下以下博文

https://www.cnblogs.com/yaohong/archive/2019/09/08/11478749.html

10,pod不稳定因此引入了service的概念,然后label来查找pod。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章