k8s网络-以Flannel为例
2020-01-14 19:09
597 查看
k8s网络模型假定了所有的pod都在一个可以直接连通的网络空间中,k8s假定这个网络已经存在。但是如果自己在私有云搭建k8s集群的话,就必须要自己实现了。
1.同一个pod之间的多个容器:lo
共用了同一个网卡,可以直接访问
2.各pod之间的通讯:overlay network
常用的网络方案:
Flannel,它能让所有的容器在集群中拥有一个唯一的虚拟ip地址。他能够在这些ip之间建立一个覆盖网络,通过这个覆盖网络,将数据包原封不动的传递到目标容器内。
1)同一主机(不同pod)
app1到app2直接通过docker0网卡转发请求
2)不在同一主机
从 app1到Backend的一次通信过程
首先构建一个数据包,源地址为10.1.12.2 目的地址10.1.20.3
然后交给docker0,再由docker0提交给Flannel0,然后再到Flanneld。
Flanneld再对数据包进行封装
mac层 outer ip 层 source 192.168.66.11 destination:192.168.66.12 udp //Flanneld转发报文的方式是udp inner ip 层 source 10.1.12.2 destination:10.1.20.3
而这个目的地址192.168.66.12,是根据存储再etcd中的路由表查找到的。
传送到192.168.66.12,再由其交给Flanneld,在进行拆分,交给Docker0,docker0根据内部ip信息,交给backend。
3.pod与service通信:各节点的Iptables规则
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Kubernetes1.91(K8s)安装部署过程(五)--安装flannel网络插件
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)
- K8s部署之解决在Flannel中跨主机互联网络问题
- .net core i上 K8S(六).netcore程序的service网络代理模式
- kubernetes集群网络配置方案——flannel部署
- Kubernetes CNI网络最强对比:Flannel、Calico、Canal和Weave
- 【Kubernetes】K8S网络方案--最近在看的
- k8s网络插件cni
- 『中级篇』k8s基础网络Cluster Network(66)
- Kubernetes网络分析之Flannel
- Docker网络解决方案-Flannel部署记录
- k8s安装之网络
- vxlan在Flannel中的Overlay网络的实现
- Flannel网络组件部署
- Docker 配置Flannel网络过程及原理
- Kubernetes安装系列之网络组件-Flannel安装设定
- K8S网络NAT问题分析与处理
- K8s网络模型
- 使用kubeadm安装kuberneters/部署前准备/flannel网络插件/镜像下载/
- 在k8s中安装flannel的故障解决: Failed to create SubnetManager: error retrieving pod spec for : the server does not allow access to the requested resource