博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flannel网络配置
阅读量:6688 次
发布时间:2019-06-25

本文共 2204 字,大约阅读时间需要 7 分钟。

Flannel工作原理

Flannel是一种覆盖网络(overlay network),将TCP数据包装在另一种网络包里面进行路由转发和通讯,转发方式:UDP 、VxLAN 、GCE、AWS VPC等。

专门为kubernetes定制的三层网络解决方案,用于解决容器的跨主机通讯。

Flannel通过ETCD维护一张节点间路由表,详细记录了各节点子网网段。

FLannel配置

1.添加flannel网络配置信息到etcd

#/opt/kubernetes/bin/etcdctl --ca-file /opt/kubernetes/ssl/ca.pem --cert-file /opt/kubernetes/ssl/flanneld.pem --key-file /opt/kubernetes/ssl/flanneld-key.pem --no-sync -C https://192.168.56.11:2379,https://192.168.56.14:2379 mk /kubernetes/network/config '{"Network": "10.3.0.0/16","Backend":{"Type": "vxlan", "VNI": 1}}'

2.安装flannel

wget  https://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd64.tar.gz

tar zxf flannel-v0.10.0-linux-amd64.tar.gz

cp flanneld mk-docker-opts.sh /opt/kubernetes/bin/

3.配置flannel

cat /opt/kubernetes/cfg/flannel

FLANNEL_ETCD="-etcd-endpoints=https://192.168.56.11:2379,https://192.168.56.14:2379"
FLANNEL_ETCD_KEY="-etcd-prefix=/kubernetes/network"
FLANNEL_ETCD_CAFILE="--etcd-cafile=/opt/kubernetes/ssl/ca.pem"
FLANNEL_ETCD_CERTFILE="--etcd-certfile=/opt/kubernetes/ssl/flanneld.pem"
FLANNEL_ETCD_KEYFILE="--etcd-keyfile=/opt/kubernetes/ssl/flanneld-key.pem"

cat /usr/lib/systemd/system/flannel.service [Unit]Description=Flanneld overlay address etcd agentAfter=network.targetBefore=docker.service[Service]EnvironmentFile=-/opt/kubernetes/cfg/flannel#ExecStartPre=/opt/kubernetes/bin/remove-docker0.shExecStart=/opt/kubernetes/bin/flanneld ${FLANNEL_ETCD} ${FLANNEL_ETCD_KEY} ${FLANNEL_ETCD_CAFILE} ${FLANNEL_ETCD_CERTFILE} ${FLANNEL_ETCD_KEYFILE}ExecStartPost=/opt/kubernetes/bin/mk-docker-opts.sh -d /run/flannel/dockerType=notify[Install]WantedBy=multi-user.targetRequiredBy=docker.service

4.配置docker使用flannel

vim /usr/lib/systemd/system/docker.service[Unit] #在Unit下面修改After和增加RequiresAfter=network-online.target firewalld.service flannel.serviceWants=network-online.targetRequires=flannel.service[Service] #增加EnvironmentFile=-/run/flannel/dockerType=notifyEnvironmentFile=-/run/flannel/dockerExecStart=/usr/bin/dockerd $DOCKER_OPTS

 

5.启动服务

启动flannel之后,重启docker

 systemctl daemon-reload

systemctl start flannel

systemctl restart flannel

ifconfig查看ip,docker0和flannel.1在同一网段即可。

转载于:https://www.cnblogs.com/liumj0305/p/10795330.html

你可能感兴趣的文章
超详细Dkhadoop虚拟机安装图文教程
查看>>
排序算法上——冒泡排序、插入排序和选择排序
查看>>
JAVA 8 函数式接口--Supplier
查看>>
Android HTTP
查看>>
Dockerfile多阶段构建原理和使用场景
查看>>
476-数字的补数
查看>>
七牛云赵之健:多维度融合赋能视频 AI 的实践
查看>>
Android 9 Pie震撼来袭 同步登陆WeTest
查看>>
vue+element Form键盘回车事件页面刷新解决
查看>>
CSS3中的box-sizing
查看>>
gracehttp: 优雅重启 Go 程序(热启动 - Zero Downtime)
查看>>
vue-cli中配置全局sass变量
查看>>
云计算新风向:多云战略优化企业云支出
查看>>
gweb总结之router
查看>>
【跃迁之路】【478天】刻意练习系列237(2018.05.29)
查看>>
Windows改Linux(一),新建Ubuntu虚拟机小白向导
查看>>
HTML5调用手机前置摄像头或后置摄像头拍照,canvas显示,经过Android测试
查看>>
如何做好 Android 端音视频测试?
查看>>
element 源码学习(番外篇) —— SASS五分钟快速入门
查看>>
五个非常实用的机器学习资源
查看>>