2019独角兽企业重金招聘Python工程师标准>>>

上一节我们部署了 etcd,本节安装和配置 flannel。

build flannel

flannel 没有现成的执行文件可用,必须自己 build,最可靠的方法是在 Docker 容器中 build。不过用于做 build 的 docker 镜像托管在 gcr.io,国内可能无法直接访问,为方便大家,我把它 mirror 到了 docker hub,构建步骤如下:

  1. 下载并重命名 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

  2. 下载 flannel 源码。

    git clone https://github.com/coreos/flannel.git

  3. 开始构建。

    cd flannel

    make dist/flanneld-amd64

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

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

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

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

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

{

"Network": "10.2.0.0/16",

"SubnetLen": 24,

"Backend": {

"Type": "vxlan"

}

}

  1. Network 定义该网络的 IP 池为 10.2.0.0/16

  2. SubnetLen 指定每个主机分配到的 subnet 大小为 24 位,即10.2.X.0/24

  3. Backend 为 vxlan,即主机间通过 vxlan 通信,后面我们还会讨论host-gw

将配置存入 etcd:
etcdctl --endpoints=192.168.56.101:2379 set /docker-test/network/config < flannel-config.json

/docker-test/network/config 是此 etcd 数据项的 key,其 value 为 flannel-config.json 的内容。key 可以任意指定,这个 key 后面会作为 flanneld 的一个启动参数。执行 etcdctl get 确保设置成功。

启动 flannel

在 host1 和 host2 上执行如下命令:
flanneld -etcd-endpoints=http://192.168.56.101:2379 -iface=enp0s8 -etcd-prefix=/docker-test/network

-etcd-endpoints 指定 etcd url。

-iface 指定主机间数据传输使用的 interface。

-etcd-prefix 指定 etcd 存放 flannel 网络配置信息的 key。

host1 上输出如下:

① enp0s8 被选作与外部主机通信的 interface。

② 识别 flannel 网络池 10.2.0.0/16。

③ 分配的 subnet 为 10.2.40.0/24。

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

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

  2. host1 添加了一条路由:目的地址为 flannel 网络 10.2.0.0/16 的数据包都由 flannel.1 转发。 

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

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

flannel 已经就绪,下一节演示如何在 Docker 中使用 flannel 网络。

转载于:https://my.oschina.net/u/2397560/blog/1523249

安装配置 flannel - 每天5分钟玩转 Docker 容器技术(59)相关推荐

  1. 在 Docker 中使用 flannel - 每天5分钟玩转 Docker 容器技术(60)

    上一节我们安装和配置了 flannel,本节在 Docker 中使用 flannel. 配置 Docker 连接 flannel 编辑 host1 的 Docker 配置文件 /etc/systemd ...

  2. 如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)

    2019独角兽企业重金招聘Python工程师标准>>> Rex-Ray 是一个优秀的 Docker volume driver,本节将演示其安装和配置方法. Rex-Ray 以 st ...

  3. 用 ConfigMap 管理配置 - 每天5分钟玩转 Docker 容器技术(159)

    Secret 可以为 Pod 提供密码.Token.私钥等敏感数据:对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap. ConfigMap 的创建和使用方式与 Secret 非常类 ...

  4. 如何配置 Health Check?- 每天5分钟玩转 Docker 容器技术(107)

    如何配置 Health Check?- 每天5分钟玩转 Docker 容器技术(107) 原创 CloudMan CloudMan 2017-12-18 第107篇 如何配置 Health Check ...

  5. chart 模板 - 每天5分钟玩转 Docker 容器技术(165)

    Helm 通过模板创建 Kubernetes 能够理解的 YAML 格式的资源配置文件,我们将通过例子来学习如何使用模板. 以 templates/secrets.yaml 为例: 从结构看,文件的内 ...

  6. Kubernetes Dashboard - 每天5分钟玩转 Docker 容器技术(173)

    前面章节 Kubernetes 所有的操作我们都是通过命令行工具 kubectl 完成的.为了提供更丰富的用户体验,Kubernetes 还开发了一个基于 Web 的 Dashboard,用户可以用 ...

  7. 部署 k8s Cluster(下)- 每天5分钟玩转 Docker 容器技术(119)

    上节我们通过 kubeadm 在 k8s-master 上部署了 Kubernetes,本节安装 Pod 网络并添加 k8s-node1 和 k8s-node2,完成集群部署. 安装 Pod 网络 要 ...

  8. 再次实践 MySQL chart - 每天5分钟玩转 Docker 容器技术(166)

    学习了 chart 结构和模板的知识后,现在重新实践一次 MySQL chart,相信会有更多收获. chart 安装前的准备 作为准备工作,安装之前需要先清楚 chart 的使用方法.这些信息通常记 ...

  9. DNS 访问 Service - 每天5分钟玩转 Docker 容器技术(138)

    在 Cluster 中,除了可以通过 Cluster IP 访问 Service,Kubernetes 还提供了更为方便的 DNS 访问. kubeadm 部署时会默认安装 kube-dns 组件. ...

最新文章

  1. Hoogle之装饰模式设计手机(下)
  2. 技巧/诀窍:在ASP.NET中重写URL
  3. 织梦dedecsm系统企业简介类单栏目模版如何修改和调用
  4. [网络安全自学篇] 五十一.恶意样本分析之HGZ进程和网络行为动态分析及防御
  5. 路由选项卡_M32全面培训第四讲——路由配置
  6. 【HTML5】Server-Sent服务器发送事件
  7. Spring Boot:(五)静态资源和拦截器处理
  8. 【clickhouse】clickhouse配置多块磁盘
  9. Python 爬取 B 站数据分析,宋智孝李光洙谁最受中国粉丝喜爱
  10. Spark面试术语总结
  11. 如何在命令行下使用Android NDK交叉编译工具
  12. Web API应用架构在Winform混合框架中的应用(5)--系统级别字典和公司级别字典并存的处理方式...
  13. QT的TreeWidget遍历文件夹并且显示(递归实现)
  14. 超参数(Hyperparameter)
  15. Keil编译后Code RO Data Rw Data ZI的含义
  16. 【毕业设计_课程设计】基于python的微信公众平台机器人的设计与实现
  17. FreeSwitch配置开启转码功能及安装G729语音编码
  18. Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程
  19. bp神经网络权值调整公式,bp神经网络算法推导
  20. C++复习之路24:计算机网络相关4:

热门文章

  1. python pdf-pythonPDF书籍十三本
  2. linux下载哪个python版本-Linux安装多个Python版本
  3. python语言怎么用-python语言中with as的用法使用详解
  4. LeetCode Super Pow(快速求幂算法)
  5. getopt和getopt_long的使用
  6. Activity的使用(七):activity的返回值
  7. Activity的切换动画
  8. 开机流程简介--init 处理系统初始化流程 (/etc/rc.d/rc.sysinit)
  9. 您的连接不是私密连接
  10. canvas之webgl的浏览器开启方式