mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 16:37:34 +00:00
Add section numbers to ecosystem headings
This commit is contained in:
@@ -2,15 +2,15 @@
|
||||
|
||||
本节介绍容器技术生态中的安全运行时机制,主要探讨在隔离性和安全性上比标准 Linux 容器更进一步的方案,重点介绍 Kata Containers 和 gVisor。
|
||||
|
||||
### 为什么需要安全容器?
|
||||
### 17.7.1 为什么需要安全容器?
|
||||
|
||||
标准的 Linux 容器(如 Docker、Podman 或基础的 containerd/runc 所提供的)依赖于 Linux 内核的 **Namespace(命名空间)** 和 **Cgroups(控制组)** 来实现进程级别的隔离与资源限制。这种轻量级的虚拟化方式共享同一个宿主机的内核。
|
||||
|
||||
尽管这种方式在性能和启动速度上拥有巨大优势,但也带来了一个显著的缺点:**隔离性(Isolation)不足**。如果某个容器内的恶意进程利用了宿主机内核的漏洞完成了越狱(Privilege Escalation),它将对整个宿主机以及其上运行的所有其他容器造成毁灭性威胁。
|
||||
|
||||
如果在公有云环境(多租户场景)或运行不可信的第三方代码时,共享内核显然是不够安全的。为了解决这一问题,社区推出了“安全容器(Secure Containers/Sandboxed Containers)”的概念。安全容器的核心理念是:提供类似虚拟机的强隔离性,同时保持类似容器的轻量、快速启动和标准化管理。
|
||||
如果在公有云环境(多租户场景)或运行不可信的第三方代码时,共享内核显然是不够安全的。为了解决这一问题,社区推出了”安全容器(Secure Containers/Sandboxed Containers)”的概念。安全容器的核心理念是:提供类似虚拟机的强隔离性,同时保持类似容器的轻量、快速启动和标准化管理。
|
||||
|
||||
### 什么是 Kata Containers?
|
||||
### 17.7.2 什么是 Kata Containers?
|
||||
|
||||
[Kata Containers](https://katacontainers.io/) 是一个开源项目,由 OpenStack Foundation(现更名为 OpenInfra Foundation)托管。它将早期的两个项目——Intel Clear Containers 和 Hyper runV 结合而成。
|
||||
|
||||
@@ -24,7 +24,7 @@ Kata Containers 的核心思路是:**使用轻量级的虚拟机(Lightweight
|
||||
- **兼容性**:Kata Containers 完全实现了 OCI(Open Container Initiative)规范和 CRI(Container Runtime Interface)标准。这意味着它可以作为 `containerd` 或 `Docker` 的底层运行时无缝替换默认的 `runc`。
|
||||
- **与 Kubernetes 集成**:在 Kubernetes 中,你可以为一个特定的 Pod 指定 `runtimeClassName: kata`,让高敏感的任务自动运行在虚拟机级别的隔离环境中。
|
||||
|
||||
### 什么是 gVisor?
|
||||
### 17.7.3 什么是 gVisor?
|
||||
|
||||
[gVisor](https://gvisor.dev/) 是由 Google 开发并开源的一种不同流派的沙箱容器运行时方案。
|
||||
|
||||
@@ -38,7 +38,7 @@ gVisor 的核心组件是一个名为 **Sentry** 的用户空间进程。Sentry
|
||||
- 因为 Sentry 在用户态实现了一套 Linux 系统调用接口,它极大减少了应用直接接触底层操作系统内核的表面积。这样就有效防御了利用底层内核漏洞突破隔离的攻击方式。
|
||||
- gVisor 同样兼容 OCI 规范,其核心运行时组件称为 `runsc`,可以作为底层运行时与 Docker 或 Kubernetes 进行集成。
|
||||
|
||||
### 总结与对比
|
||||
### 17.7.4 总结与对比
|
||||
|
||||
| 特性 | 标准 Linux 容器 (runc) | Kata Containers | gVisor (runsc) |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
|
||||
Reference in New Issue
Block a user