ubuntu18.04安装flannel

本文详细介绍了在Ubuntu 18.04上安装和配置Flannel的过程,Flannel作为跨主机容器网络解决方案,通过overlay网络实现Docker容器的全集群唯一IP。内容包括Flannel的工作原理、数据包转发流程,以及安装配置步骤,如设置etcd、启动Flannel服务、验证Flannel网络和配置Docker以使用Flannel。
摘要由CSDN通过智能技术生成

Flannel配置详解

  1. 简介
    Flannel是一种基于overlay网络的跨主机容器网络解决方案,也就是将TCP数据包封装在另一种网络包里面进行路由转发和通信,Flannel是CoreOS开发,专门用于docker多机互联的一个工具,让集群中的不同节点主机创建的容器都具有全集群唯一的虚拟ip地址Flannel使用go语言编写

  2. Flannel实现原理
    Flannel为每个host分配一个subnet,容器从这个subnet中分配IP,这些IP可以在host间路由,容器间无需使用nat和端口映射即可实现跨主机通信

    每个subnet都是从一个更大的IP池中划分的,flannel会在每个主机上运行一个叫 flanneld的agent,其职责就是从池子中分配subnetFlannel使用etcd存放网络配置、已分配 的subnet、host的IP等信息 Flannel数据包在主机间转发是由backend实现的,目前已经支持UDP、VxLAN、host-gw、AWS VPC和GCE路由等多种backend
    数据转发流程
    在这里插入图片描述
    容器直接使用目标容器的ip访问,默认通过容器内部的eth0发送出去。

    报文通过veth pair被发送到vethXXX。

    vethXXX是直接连接到虚拟交换机docker0的,报文通过虚拟bridge docker0发送出去。

    查找路由表,外部容器ip的报文都会转发到flannel0虚拟网卡,这是一个P2P的虚拟网卡,然后报文就被转发到监听在另一端的flanneld。

    flanneld通过etcd维护了各个节点之间的路由表&

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值