博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第 8 章 容器网络 - 059 - 安装配置 flannel
阅读量:6695 次
发布时间:2019-06-25

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

安装配置 flannel

 

1) build flannel

 flannel 没有现成的执行文件可用,必须自己 build,最可靠的方法是在 Docker 容器中 build。

不过用于做 build 的 docker 镜像托管在 gcr.io,国内可能无法直接访问,所以使用参考文档中提供的镜像,构建步骤如下:

     下载并重命名 image。

            docker pull cloudman6/kube-cross:v1.6.2-2

            docker tag cloudman6/kube-cross:v1.6.2-2 gcr.io/google_containers/kube-cross:v1.6.2-2

    下载 flannel 源码。

            git clone

    

     开始构建。

            cd flannel

            make dist/flanneld-amd64

    将 flanneld 执行文件拷贝到 host1 和 host2。

scp dist/flanneld-amd64 10.12.31.22:/usr/local/bin/flanneld

scp dist/flanneld-amd64 10.12.31.23:/usr/local/bin/flanneld

 

将 flannel 网络的配置信息保存到 etcd。

 

先将配置信息写到文件 flannel-config.json 中,内容为:

{

  "Network": "10.2.0.0/16",

  "SubnetLen": 24,

  "Backend": {

    "Type": "vxlan"

  }

}

  •     Network 定义该网络的 IP 池为 10.2.0.0/16。
  •     SubnetLen 指定每个主机分配到的 subnet 大小为 24 位,即10.2.X.0/24。
  •     Backend 为 vxlan,即主机间通过 vxlan 通信,后面我们还会讨论host-gw。

 

将配置存入 etcd:

etcdctl --endpoints=10.12.31.21:2379 set /docker-test/network/config < flannel-config.json

 

/docker-test/network/config 是此 etcd 数据项的 key,其 value 为 flannel-config.json 的内容。

key 可以任意指定,这个 key 后面会作为 flanneld 的一个启动参数。执行 etcdctl get 确保设置成功。

 

2) 启动 flannel

在 host1 和 host2 上执行如下命令:

flanneld -etcd-endpoints=http://10.12.31.21:2379 -iface=ens192 -etcd-prefix=/docker-test/network

  • -etcd-endpoints 指定 etcd url。
  • -iface 指定主机间数据传输使用的 interface。
  • -etcd-prefix 指定 etcd 存放 flannel 网络配置信息的 key。

 

host1 上输出如下:

1、ens192 被选作与外部主机通信的 interface。

2、识别 flannel 网络池 10.2.0.0/16。

3、分配的 subnet 为 10.2.63.0/24。

 

flanneld 启动后,host1 内部网络会发生一些变化:

 

  •     一个新的 interface flannel.1 被创建,而且配置上 subnet 的第一个 IP 10.2.63.0。
  •  

  •  host1 添加了一条路由:目的地址为 flannel 网络 10.2.0.0/16 的数据包都由 flannel.1 转发。
  •     实验结果没有这条路由  路由是10.2.63.0/24.
  •  

 

host2 输出类似,主要区别是 host2 的 subnet 为 10.2.46.0/24:

 

 

当前环境网络拓扑如图所示:

 

 

----------------------------------------引用来自-----------------------------------------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587804&idx=1&sn=60d710bbfebbb0e71208f4ca4dbeb246&chksm=8d308145ba470853821df51d37637f9dbfe5934ef441ac837001bc05e149aaf2c175eeb516d5&scene=21#wechat_redirect

转载于:https://www.cnblogs.com/gsophy/p/10615727.html

你可能感兴趣的文章
asp.net运行原理
查看>>
canvas实现芝麻信用评分效果
查看>>
053(五十三)
查看>>
【Spark篇】---Spark中yarn模式两种提交任务方式
查看>>
最短路专题解题报告
查看>>
什么是FSO
查看>>
批处理程序如何接受多个文件拖入?开启了变量延迟enabledelayedexpansion之后遇到感叹号要怎么处理?...
查看>>
java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
查看>>
Python 3
查看>>
实现主从关系Form中汇总行金额/数量
查看>>
Python学习笔记:协程
查看>>
原生js完成拼图小游戏
查看>>
[Algorithms] Radix Sort
查看>>
Eclipse打jar包的方法
查看>>
[WP7]关于退出时确认对话框的实现
查看>>
每日一记--迷茫
查看>>
mybatis like 查询
查看>>
Centos硬件信息
查看>>
Maven 打包
查看>>
Map接口
查看>>