22、《每天5分钟玩转Docker容器技术》学习--Flannel Network内部结构
一、环境介绍
二、环境搭建
环境搭建这里就不再重复了,请大家参考上一篇文章!
https://blog.51cto.com/hostman/2103503
这里我们从配置flannel信息到数据库中开始
创建一个文件flannel-config.json,写入如下内容
cat >>flannel-config.json<<EOF
{
"Network": "10.10.0.0/16",
"SubnetLen": 24,
"Backend": {
"Type": "vxlan"
}
}
EOF
Network 定义该网络的 IP 池为 10.10.0.0/16。
SubnetLen 指定每个主机分配到的 subnet 大小为 24 位,即10.10.X.0/24。
Backend 为通信类型。 vxlan,即主机间通过 vxlan 通信,后面还会讨论host-gw。
etcdctl --endpoints=192.168.56.131:2379 set /docker-test/network/config < flannel-config.json
docker01和docker02主机上启动flannel网络
flanneld -etcd-endpoints=http://192.168.56.131:2379 -iface=ens33 -etcd-prefix=/docker-test/network
这里的终端窗口不要关闭
三、当前网络环境
1、安装完成之后的网络结构
docker01主机新增一个10.10.10.0网段的网卡flannel.1
docker02主机新增一个10.10.58.0网段的网卡flannel.1
可以看到没有netns,由以上信息可以得到,flannel目前是虚拟网卡
可以看到我们现在只是做到了【安装etcd--安装flannel--flannel关联etcd】,但是docker主机并没有关联flannel网络,那么进行如下操作:
在docker daemon中指定flannel_subnet网段和flannel_mtu最大传输单元(使用flannel网络的docker主机都需要配置)
--bip --mtu
docker01主机
docker02主机
查看docker主机当前网络情况
可以看到,docker0默认的桥接网卡的地址是我们在docker daemon中配置的bip的地址
当前网络结构如下:
四、创建flannel驱动的网络在容器中,容器排版如下:
docker run -itd --name xbox1 busybox
docker run -itd --name xbox2 busybox
docker run -itd --name xbox3 busybox
docker run -itd --name xbox4 busybox
五、网络分析(container--host)以docker01为例
1、container info
docker exec xbox1 ip link show
docker exec xbox1 ip addr show
docker exec xbox1 ip route show
可以发现我们的容器中有lo口和另一个网络端口,flannel网络只会生成一个网卡
2、host info
容器中:5: eth0@if6 主机中:6: vetha71e807@if5 是一对vnet_pair,并且桥接到了docker0网桥
可以和外网通信,traceroute可以看到10.10.10.1跳转到192.168.56.2
同主机通信,直接访问
通讯结构如下
跨主机通信,大家动手测试!
转载于:https://blog.51cto.com/hostman/2103592
22、《每天5分钟玩转Docker容器技术》学习--Flannel Network内部结构相关推荐
- 用 Label 控制 Service 的位置 - 每天5分钟玩转 Docker 容器技术(106)
上一节我们讨论了 Service 部署的两种模式:global mode 和 replicated mode.无论采用 global mode 还是 replicated mode,副本运行在哪些节点 ...
- 如何用 Graylog 管理日志?- 每天5分钟玩转 Docker 容器技术(93)
上一节已经部署好了 Graylog,现在学习如何用它来管理日志. 首先启动测试容器. docker run -d \ --log-driver=gelf \ --log-opt gelf-addres ...
- 日志管理之 Docker logs - 每天5分钟玩转 Docker 容器技术(87)
高效的监控和日志管理对保持生产系统持续稳定地运行以及排查问题至关重要. 在微服务架构中,由于容器的数量众多以及快速变化的特性使得记录日志和监控变得越来越重要.考虑到容器短暂和不固定的生命周期,当我们需 ...
- k8s 重要概念 - 每天5分钟玩转 Docker 容器技术(117)
在实践之前,必须先学习 Kubernetes 的几个重要概念,它们是组成 Kubernetes 集群的基石. Cluster Cluster 是计算.存储和网络资源的集合,Kubernetes 利用 ...
- 回收 PV - 每天5分钟玩转 Docker 容器技术(152)
当 PV 不再需要时,可通过删除 PVC 回收. 当 PVC mypvc1 被删除后,我们发现 Kubernetes 启动了一个新 Pod recycler-for-mypv1,这个 Pod 的作用就 ...
- DaemonSet 典型应用场景 - 每天5分钟玩转 Docker 容器技术(129)
Deployment 部署的副本 Pod 会分布在各个 Node 上,每个 Node 都可能运行好几个副本.DaemonSet 的不同之处在于:每个 Node 上最多只能运行一个副本. DaemonS ...
- Swarm 如何存储数据?- 每天5分钟玩转 Docker 容器技术(103)
service 的容器副本会 scale up/down,会 failover,会在不同的主机上创建和销毁,这就引出一个问题,如果 service 有要管理的数据,那么这些数据应该如何存放呢? 选项一 ...
- Swarm 如何实现 Failover?- 每天5分钟玩转 Docker 容器技术(98)
故障是在所难免的,容器可能崩溃,Docker Host 可能宕机,不过幸运的是,Swarm 已经内置了 failover 策略. 创建 service 的时候,我们没有告诉 swarm 发生故障时该如 ...
- 如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)
2019独角兽企业重金招聘Python工程师标准>>> Rex-Ray 是一个优秀的 Docker volume driver,本节将演示其安装和配置方法. Rex-Ray 以 st ...
- Service 之间如何通信?- 每天5分钟玩转 Docker 容器技术(101)
微服务架构的应用由若干 service 组成.比如有运行 httpd 的 web 前端,有提供缓存的 memcached,有存放数据的 mysql,每一层都是 swarm 的一个 service,每个 ...
最新文章
- 编译器 llvm clang 源码转换示例
- http://www.fastweb.cc
- NUXT: 视图和模板
- flink读不到kafka数据问题
- jzoj4248-n染色【数学,快速幂】
- android吸附菜单,Android仿微博、人人Feed详情页吸附导航栏
- emmet插件使用(Css)
- caffeine 弱引用key的实现
- 【Elasticsearch】Elasticsearch:Searchable snapshot - 可搜索的快照
- 带sex的net域名_中华网--科技频道
- 深度学习基础 | RNN家族全面解析
- [转]Serverless,后端小程序的未来
- 「代码随想录」279.完全平方数 【动态规划】力扣详解!
- yum离线安装rpm包
- (莱昂氏unix源代码分析导读-49) 字符缓冲区
- Win10台式电脑怎么不拔网线断网
- Win10修修补补日记:Win10周年更新再出BUG 淡定
- 中标麒麟服务器性能怎么样,中标麒麟Linux系统的性能分析及工具(74页)-原创力文档...
- OpenCV图像基本操作——图像合成
- python函数库分类及实例_Python中Scikit-Learn库的分类方法总览
热门文章
- Leetcode题库 119.杨辉三角(单数组迭代 C实现)
- 代码质量评判标准、设计模式、面向对象设计原则速查表
- Java中input与output_java中的Io(input与output)操作总结(四)
- hive解决数据倾斜问题_Hive数据倾斜和解决办法
- 计算机音乐除了春天爱情和樱花,High4IU《除了春天爱情和樱花》新歌试听
- android wifi驱动_OTT盒子WiFi方案首选:博通2T2R WiFi模块
- 3GPP Release、TSG、RAN等概念介绍
- [设计模式]工厂模式factory
- 微信 SQLite 数据库修复实践
- 搜索引擎原理和简单过程【转】