概述
上一篇记录了Node节点的部署,然后master,node节点都已经部署完成, 已经完成了大半了,但是还需要部署flannel网络插件,才能实现pod之间的网络跨主机互访,好了,话不多说,照例进行
ps: 为了更好的让大家理解集群的整个结构,整个系列部署都是采用二进制包手动部署方式。
整个系列具体会出多少篇博客,也不一定,每有更新,便会在每篇博客的开头,进行导航:
《centos7 kubernetes(k8s)1.12集群部署与使用(一):基础知识介绍和系统初始化》
《centos7 kubernetes(k8s)1.12集群部署与使用(二):证书制作和etcd集群部署》
《centos7 kubernetes(k8s)1.12集群部署与使用(三):master节点部署》
《centos7 kubernetes(k8s)1.12集群部署与使用(四):Node节点部署》
《centos7 kubernetes(k8s)1.12集群部署与使用(五):Flannel网络部署》
正文
整个系列环境:
centos7 服务器3台 1master + 2node
master ip: 192.168.1.1
node1 ip: 192.168.1.2
node2 ip: 192.168.1.3
Flannel 是一个专为kubernetes定制的三层网络解决方案,主要用于解决容器的跨主机通信问题。其工作原理如下:
数据从源容器中发出后,经由所在主机的docker0虚拟网卡转发到flannel0虚拟网卡,这是个P2P的虚拟网卡,flanneld服务监听在网卡的另外一端。Flannel通过Etcd服务维护了一张节点间的路由表,详细记录了各节点子网网段 。源主机的flanneld服务将原本的数据内容UDP封装后根据自己的路由表投递给目的节点的flanneld服务,数据到达以后被解包,然后直接进入目的节点的flannel0虚拟网卡,然后被转发到目的主机的docker0虚拟网卡,最后就像本机容器通信一下的有docker0路由到达目标容器。
了解了工作原理后,现在进行flannel的部署