kubernetes--flannel(kubeadm安装)的不同node上的pod间无法通信

在通过kubeadm 初始化之后,进行网络插件的配置和安装;

1、 kubernetes网络模型

kubernetes的网络模型假定了所有的pod都在一个可以直接连通的扁平化的网络空间中。这在GCE里面是现成的网络模型,kubernetes假定这个网络已经存在。而在私有云里,也就是我们本地搭建kubernetes集群的时候就不能假设这种网络空间已经存在了。所以我们需要自己实现这种假想的网络假设,将不同节点上的Docker容器之间的相互访问先打通,然后运行kubernetes。[图片上传中...(5006907-34e6d36d172a402b.png-bb45c3-1558515533858-0)]

目前已经有多可开源的网络组件支持容器网络模型。比如:Flannel、Open vSwitch、直接路由和Calico等。我选用的是Flannel。

2、 Flannel

Flannel之所以能够搭建kubernetes依赖的底层网络,是因为他能实现以下两点:
(1)它能协助kubernetes,个每一个Node上的Docker容器分配互相不冲突的IP地址。
(2)它能够在这些IP地址之间建立一个覆盖网络(Overlay Network),通过这个覆盖网络将数据包原封不动的传递到容器内部。

flannel架构图
5006907-34e6d36d172a402b.png

其主要原理和工作流程参考网上先关资料

3 kubeadm方式配置flannel

以下过程只需要在master节点下进行即可,master节点上配置好之后kubernetes会自动配置所属的全部node

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

\color{#FF0000}{注意:请检查下载下来的yml文件中是否有以下内容}

container:
    ......
    command:
    -  /opt/bin/flanneld
    arg:
    - --ip-masq
    - --kube-subnet-mgr
    - --iface=eth0

在有的kube-flannle.yml文件的arg参数中只有前两个,最后的--iface=eth0并没有编辑,这样的话就可能导致,不同node上的pod之间无法通信。大致原因是因为--iface参数是指定flanneld 数据包输出的网端,如果没有填写,那么在上图中flanneld无法将数据包传送到eth0,也就是数据无法正常被发送出去,所以不同node上的pod是无法通信的,所以对--iface进行指定,数据包才能正常的经过flannel进行传送

下载完flannel的yml配置文件之后,运行kubectl create -f kube-flannel.yml建立kube-flannle POD,并且开始工作,可以使用kubectl get pods --all-namespaces查看是否已经建立了这个pod。

参考自[https://www.codercto.com/a/37238.html],如果关于flannel还有其他问题也可以移步到此地址参考解决(https://www.codercto.com/a/37238.html)

coredns

在配置完flannel等相关网络之后kube-coredns 才会进行工作,之后每当kubernetes建立一个pod的时候coredns就会给予这个pod一个域名。

kubernetes中,由于pod不是固定的,即使通过标签选择器固定pod。kubernetes会通过自身所带的算法等工具去分配这些pod到最优的node上去,在不同的node上,网络环境可能不同,所以pod的IP一会随之变化,kubernetes也就没有提供固定ip的方法。

这样一来,域名就相当于一个pod在网络空间的唯一标识,可以通过域名来确定一个pod的网络位置,即使pod在运行过程中更换node导致IP地址发生变化,其域名也是固定不变的。

在之前的版本kubernetes默认的dns服务是通过kube-dns实现的,在最近的版本(大概1.10左右)之后的版本,kubernetes默认的dns服务使用过coredns实现的,在使用kubeadm安装kubernetes时,在最后请确定kube-coredns是否已经建立,每一个node上会建立一个coredns 的POD。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342