安装配置 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 https://github.com/coreos/flannel.git

    

开始构建。

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

第 8 章 容器网络 - 059 - 安装配置 flannel的更多相关文章

  1. 第 8 章 容器网络 - 062 - 如何使用 flannel host-gw backend?

    flannel host-gw backend flannel 支持多种 backend:(1)vxlan backend:(2)host-gw: 与 vxlan 不同,host-gw 不会封装数据包 ...

  2. 安装配置 flannel - 每天5分钟玩转 Docker 容器技术(59)

    上一节我们部署了 etcd,本节安装和配置 flannel. build flannel flannel 没有现成的执行文件可用,必须自己 build,最可靠的方法是在 Docker 容器中 buil ...

  3. 第 8 章 容器网络 - 058 - flannel 概述

    flannel 概述 flannel 是 CoreOS 开发的容器网络解决方案. flannel 为每个 host 分配一个 subnet,容器从此 subnet 中分配 IP,这些 IP 可以在 h ...

  4. 第 8 章 容器网络 - 072 - 一文搞懂各种 Docker 网络

    Docker 起初只提供了简单的 single-host 网络,显然这不利于 Docker 构建容器集群并通过 scale-out 方式横向扩展到多个主机上. 跨主机网络方案: Docker Over ...

  5. 第 8 章 容器网络 - 065 - 容器在 Weave 中如何通信和隔离?

    首先在host2 执行如下命令: weave launch 10.12.31.22 这里必须指定 host1 的 IP 10.12.31.22,这样 host1 和 host2 才能加入到同一个 we ...

  6. 第 8 章 容器网络 - 063 - 如何使用 Weave 网络?

    如何使用 Weave 网络? weave 是 Weaveworks 开发的容器网络解决方案. weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来. 对容器来说,weave 就像一个巨大的以 ...

  7. 第 8 章 容器网络 - 054 - 准备 macvlan 环境

    准备 macvlan 环境 macvlan 本身是 linux kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址,即多个 interface,每个 interface 可以配置 ...

  8. 第 8 章 容器网络 - 061 - flannel 的连通与隔离

    flannel 的连通与隔离 测试 bbox1 和 bbxo2 的连通性: bbox1 能够 ping 到位于不同 subnet 的 bbox2,通过 traceroute 分析一下 bbox1 到 ...

  9. 059、安装配置flannel(2019-03-28 周四)

    参考https://www.cnblogs.com/CloudMan6/p/7424858.html   build flannel   flannel 没哟现成的执行文件可用,必须自己build,最 ...

随机推荐

  1. Linux CentOS 7的图形界面安装(GNOME、KDE等)

    转载于:https://jingyan.baidu.com/article/0964eca26fc3b38284f53642.html 今天为大家介绍一下CentOS 7的图像界面安装(虚拟机和硬盘安 ...

  2. IIS W3C日志记录字段和HTTP状态代码的说明

    像新网的部分服务器ftp目录有这个文件,但是就是提示没权限查看也没有权限下载,还得必须给他们打电话才能要到. 做为网站拥有者,我们应该关注IIS日志,从里面我们不仅仅可以看到网站的访问记录和搜索引擎的 ...

  3. vim 快捷键(update)

    网上盗的图,233   2018年08月31日14:31:19 update: 批量行操作 esc->ctrl+v->选中批量行->shift+i->operation-> ...

  4. 【题解】Luogu P5072 [Ynoi2015]盼君勿忘

    众所周知lxl是个毒瘤,Ynoi道道都是神仙题,题面好评 原题传送门 一看这题没有修改操作就知道这是莫队题 我博客里对莫队的简单介绍 既然是莫队,我们就要考虑每多一个数或少一个数对答案的贡献是什么 假 ...

  5. nginx 下 php 无法执行,虚拟主机 无法使用

    检查目录下的.ini文件 有可能是因为多了个user.ini文件.这个文件在linux下可用,在window下不可用. windows下删掉这个文件后记得重启一下nginx.不然不会生效. 参考:ht ...

  6. SVM学习笔记3-问题转化

    在1中,我们的求解问题是:$min_{w,b}$ $\frac{1}{2}||w||^{2}$,使得$y^{(i)}(w^{T}x^{(i)}+b)\geq 1 ,1 \leq i \leq n$ 设 ...

  7. 列表与if语句的结合

    # 1.判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. \ # 那这个数就是一个水仙花数, 例如: 153 = 1**3 + 5**3 + 3**3 # ...

  8. linux内核发生Oops时怎么办?

    1. 定位发生Oops的代码 1.1 通过addr2line命令定位 aarch64-openwrt-linux-gnu-addr2line -e vmlinux ffff000008087f00 1 ...

  9. 三星sm865

    目录 样张 SSD-Z: CrystalDiskInfo: CrystalDiskMark: AS-SSD Benchmark: 颗粒检查: 扇区信息: HD Tune Pro: 三星Magician ...

  10. fw-cloud-framework项目配置、启动问题

    1.config组件:其配置优先级高于每个注册到同一个中心的工程的本地配置,所以在统一以dev这个 profile启动各个项目时,去config中心中找-dev结尾的各个工程名命名的文件. confi ...