暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
47丨绝不仅仅是安全:KataContainers与gVisor.pdf
199
11页
0次
2023-08-14
10墨值下载
47 | 绝不仅仅是安全:Kata Containers gVisor
2018-12-10 张磊
深入剖析Kubernetes
进入课程
讲述:张磊
时长 10:39 大小 9.77M
你好,我是张磊。今天我和你分享的主题是:绝不仅仅是安全之 Kata Containers 与
gVisor。
在上一篇文章中,我为你详细地讲解了 kubelet 和 CRI 的设计和具体的工作原理。而在讲
解 CRI 的诞生背景时,我也提到过,这其中的一个重要推动力,就是基于虚拟化或者独立
内核的安全容器项目的逐渐成熟。
使用虚拟化技术来做一个像 Docker 一样的容器项目,并不是一个新鲜的主意。早在
Docker 项目发布之后,Google 公司就开源了一个实验性的项目,叫作 novm。这,可以
算是试图使用常规的虚拟化技术来运行 Docker 镜像的第一次尝试。不过,novm 在开源后
不久,就被放弃了,这对于 Google 公司来说或许不算是什么新鲜事,但是 novm 的昙花
一现,还是激发出了很多内核开发者的灵感。
下载APP
所以在 2015 年,几乎在同一个星期,Intel OTC (Open Source Technology Center)
和国内的 HyperHQ 团队同时开源了两个基于虚拟化技术的容器实现,分别叫做 Intel
Clear Container 和 runV 项目。
而在 2017 年,借着 Kubernetes 的东风,这两个相似的容器运行时项目在中立基金会的撮
合下最终合并,就成了现在大家耳熟能详的 Kata Containers 项目。 由于 Kata
Containers 的本质就是一个精简后的轻量级虚拟机,所以它的特点,就是“像虚拟机一样
安全,像容器一样敏捷”。
而在 2018 年,Google 公司则发布了一个名叫 gVisor 的项目。gVisor 项目给容器进程配
置一个用 Go 语言实现的、运行在用户态的、极小的“独立内核”。这个内核对容器进程暴
露 Linux 内核 ABI,扮演着“Guest Kernel”的角色,从而达到了将容器和宿主机隔离开
的目的。
不难看到,无论是 Kata Containers,还是 gVisor,它们实现安全容器的方法其实是殊途
同归的。这两种容器实现的本质,都是给进程分配了一个独立的操作系统内核,从而避免了
让容器共享宿主机的内核。这样,容器进程能够看到的攻击面,就从整个宿主机内核变成了
一个极小的、独立的、以容器为单位的内核,从而有效解决了容器进程发生“逃逸”或者夺
取整个宿主机的控制权的问题。这个原理,可以用如下所示的示意图来表示清楚。
of 11
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文档被以下合辑收录

深入剖析Kubernetes(共51篇)
课程介绍 过去几年,以 Docker、Kubernetes 为代表的容器技术已发展为一项通用技术,BAT、滴滴、京东、头条等大厂,都争相把容器和 K8S 项目作为技术重心,试图“放长线钓大鱼”。 但容器技术本身偏向运维,namespace 资源隔离、cgroups 资源限制等概念,对开发者来说,理解起来比较困难。尤其在实施 K8S 落地时,总有一些问题被反复提及,比如: 为什么容器里只能跑“一个进程”? 之前一直用的某个 JVM 参数,在容器里怎么不好使了? 为什么 Kubernetes 不能固定 IP 地址?容器网络连不通,该如何 Debug? K8S 中 StatefulSet 和 Operator 到底什么区别?PV 和 PVC 又该怎么用? 这些问题的答案和原理并不复杂,但很难一两句话解释清楚。因为容器技术涉及操作系统、网络、存储、调度、分布式原理等方方面面的知识,是个名副其实的全栈技术。 而其技术体系里那些“牵一发而动全身”的主线,比如 Linux 进程模型对容器本身的重要意义,“控制器”模式对整个 K8S 项目提纲挈领的作用等等,不会详细展现在 Docker 或 Kubernetes 官方文档中,但它们才是掌握容器技术体系的精髓所在,这也是张磊的《深入剖析 Kubernetes》专栏的核心内容。 张磊花费数月时间,经过多次改版,构建出如今的知识框架,适合所有初学者和进阶容器技术的伙伴,帮你逐层理清容器背后的技术本质与设计思想,并结合对其核心特性的剖析与实践,加深你对容器技术的理解。 本专栏共包括如下四大模块: 1. “白话”容器技术基础:用饶有趣味的解说,梳理容器技术生态的发展脉络,讲述容器技术的来龙去脉与实现原理,让你知其然,并且知其所以然。 2. Kubernetes 集群的搭建与实践:以浅显易懂的语言,讲述 Kubernetes 集群背后的原理,并从 0 开始搭建一套 Kubernetes 集群,带你领略 Kubernetes 集群的“一键安装”。 3. 容器编排与 Kubernetes 核心特性剖析:这个模块从分布式系统设计的视角出发,归纳出这些特性中体现出来的普遍方法,然后再逐一阐述 Kubernetes 项目关于编排、调度和作业管理的各项核心特性。 4. Kubernetes 开源社区与生态:磊哥会带你思考如何同团队一起平衡内外部需求,逐渐成为社区中不可或缺的一员。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜