趣谈网络协议
刘超
前网易研究院云计算技术部首席架构师
130417 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 51 讲
趣谈网络协议
15
15
1.0x
00:00/00:00
登录|注册

第29讲 | 容器网络:来去自由的日子,不买公寓去合租

容器端口映射
SNAT和DNAT
net_cls子系统
blkio子系统
memory子系统
cpuset子系统
CPU子系统
容器内部网络配置
创建、删除、查询namespace
镜像的概念
容器内部与物理网络的通信
将veth pair放入namespace
veth pair的创建
容器网络拓扑结构
cgroup与TC的关联
cgroup的子系统
cgroup的概念
网络namespace
容器的标准化
集装箱的特点
容器网络融入物理网络
机制网络(cgroup)
命名空间(namespace)
容器的思想
容器网络

该思维导图由 AI 生成,仅供参考

如果说虚拟机是买公寓,容器则相当于合租,有一定的隔离,但是隔离性没有那么好。云计算解决了基础资源层的弹性伸缩,却没有解决 PaaS 层应用随基础资源层弹性伸缩而带来的批量、快速部署问题。于是,容器应运而生。
容器就是 Container,而 Container 的另一个意思是集装箱。其实容器的思想就是要变成软件交付的集装箱。集装箱的特点,一是打包,二是标准。
在没有集装箱的时代,假设要将货物从 A 运到 B,中间要经过三个码头、换三次船。每次都要将货物卸下船来,弄得乱七八糟,然后还要再搬上船重新整齐摆好。因此在没有集装箱的时候,每次换船,船员们都要在岸上待几天才能干完活。
有了尺寸全部都一样的集装箱以后,可以把所有的货物都打包在一起,所以每次换船的时候,一个箱子整体搬过去就行了,小时级别就能完成,船员再也不用耗费很长时间了。这是集装箱的“打包”“标准”两大特点在生活中的应用。
那么容器如何对应用打包呢?
学习集装箱,首先要有个封闭的环境,将货物封装起来,让货物之间互不干扰,互相隔离,这样装货卸货才方便。
封闭的环境主要使用了两种技术,一种是看起来是隔离的技术,称为 namespace,也即每个 namespace 中的应用看到的是不同的 IP 地址、用户空间、程号等。另一种是用起来是隔离的技术,称为 cgroup,也即明明整台机器有很多的 CPU、内存,而一个应用只能用其中的一部分。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

容器网络技术是一种新兴的应用部署方式,类比于虚拟机的“合租”概念。文章详细介绍了容器的概念和技术原理,包括命名空间和cgroup等技术实现隔离和资源控制。通过具体的网络命名空间实现示例,生动地展示了容器网络技术的应用场景和操作步骤。容器网络技术的发展将为云计算和应用部署领域带来新的可能性。文章还探讨了容器网络如何融入物理网络,包括通过桥接方式实现容器相互访问以及使用NAT方式访问外网。此外,文章还提到了容器内部网络和物理机网络使用NAT方式相互访问可能存在的问题,以及不同物理机上的容器相互通信的实现方式。整体而言,本文深入浅出地介绍了容器网络技术的原理和应用,为读者提供了全面的了解和思考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《趣谈网络协议》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(39)

  • 最新
  • 精选
  • aoe
    学到了集装箱为解决什么问题而出现

    作者回复: 跨行业学习

    2020-05-27
    8
  • spdia
    这章比较难,主要是我对ip netns 不熟悉,还要多看几遍,再上虚拟机上操作几遍才行。

    作者回复: 鼓励操作

    2018-09-08
    7
  • 蜉蝣
    老师,您这句“路由表中的默认路由是去物理外网的,去 192.168.1.0/24 也即虚拟机私网,走下面的网卡,去 16.158.1.0/24 也即物理外网,走上面的网卡。” 我不太懂哪个是上面网卡,哪个是下面网卡。

    作者回复: 就是图中,路由器连着两个网卡,一个在上,一个在下

    2019-08-13
    2
    4
  • 王芳
    没操作,感觉看懂了-- 等课程看完一遍,看是否实践操作 --

    作者回复: 实践好

    2019-04-10
    3
  • 程序员大天地
    发现虚拟网络和容器这块看不懂,好多不理解

    作者回复: 上手实验一下,会好一些

    2019-08-01
    2
  • 天然
    安全设备,例如waf,能拿到各容器的私有IP吗?还是只能拿到物理机ip?怎么判断一个攻击是针对哪个容器业务的?

    作者回复: 如果是calico而且是路由的方式,应该可以的

    2019-07-31
    2
  • 超超
    同一物理机上的多台虚拟机没有IP分配管理机制吗?是否存在容器之间IP冲突的问题?

    作者回复: IP分配需要IPAM

    2019-04-08
  • geraltlaush
    [root@master SOURCES]# brctl show bridge name bridge id STP enabled interfaces br0 8000.000000000000 no docker0 8000.02422c960d0f no virbr0 8000.525400ad2143 yes virbr0-nic [root@master SOURCES]# ovs-vsctl -- add-port br0 taprouter -- set Interface taprouter type=internal -- set Interface taprouter external-ids:iface-status=active -- set Interface taprouter external-ids:attached-mac=fa:16:3e:84:6e:cc ovs-vsctl: no bridge named br0 老师,这是什么情况,我不是已经创建了网桥了吗

    作者回复: 拿ovs-vsctl add-br创建试试看

    2019-02-01
  • 小文
    我怎么感觉干运维的才能理解这么深
    2018-08-14
    5
    43
  • 贾鹏
    问题1,由于nat导致网络性能有损耗,而且物理机端口被占用,当容器多的时候对于物理机端口的占用更加明显 问题2,跨物理机间的容器通信,主要的思路是构造扁平化网络模型,主要有cnm和cni模型,支持很多网络插件实现集群内的容器只有唯一的IP。这些插件很多,比如flannel macvlan 另外求网络梳理图 不分享还不能留言吗?
    2018-07-25
    25
收起评论
显示
设置
留言
39
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部