容器化工具提供围绕特定容器运行时的容器化和资源隔离抽象。DC/OS 容器化工具支持以下容器运行时:
Universal Container Runtime (UCR) 的优势如下:
- 删除您对 Docker Engine 的依赖性。如果 Docker Engine 没有响应,则重新启动引擎会导致主机上的所有容器停止。此外,Docker 必须安装在每个代理节点上,并且每次发布新版本的 Docker 时都必须在代理节点上升级 Docker。
- 更稳定,允许大规模部署
- 提供 Docker 引擎中未提供的功能,例如,GPU 和 CNI 支持
- 允许您利用 Mesos 和 DC/OS 中的持续创新,包括每个容器的 IP、严格的容器隔离等功能。有关更多信息,请参阅功能矩阵。
- 自动或手动支持容器镜像垃圾收集
总之,使用 UCR 代替 Docker Engine:
- 减少服务停机时间
- 提高即时可升级性
- 增加群集稳定性
Container Runtime 的功能
下表列出了每个受支持容器运行时的可用功能、支持这些功能的产品以及可配置功能的位置。
DC/OS 功能
| 功能 | UCR | Docker | 备注 |
|---|---|---|---|
| 命令 | 是 | 是 | |
| 容器镜像 | 是 | 是 | |
| 镜像垃圾收集 | 是 | 是 | |
| Pod | 是 | 否 | |
| GPU | 是 | 否 | |
| URI | 是 | 是 | |
| Docker 选项 | 否 | 是 | |
| 强制拉取 | 是 | 是 | |
| 密钥 | 是 | 是 | 仅限 DC/OS Enterprise |
| 基于文件的密钥 | 是 | 否 | 仅限 DC/OS Enterprise |
| 使用可执行程序进行调试 | 是 | 否 | 仅限 CLI |
| 所有安全模式 | 是 | 是 | 仅限 DC/OS Enterprise |
容器后端
| 功能 | UCR | Docker |
|---|---|---|
| OverlayFS | 是 | 是 |
| Aufs | 是 | 是 |
| 绑定 | 是 | 不适用 |
存储
| 功能 | UCR | Docker | 备注 |
|---|---|---|---|
| 本地持久卷 | 是 | 是 | |
| 主机卷 | 是 | 是 | 仅限 CLI |
| 外部卷 | 是 | 是 |
服务端点
| 功能 | UCR | Docker |
|---|---|---|
| 指定端口 | 是 | 是 |
| 编号端口 | 是 | 是 |
网络
| 功能 | UCR | Docker | 备注 |
|---|---|---|---|
| 主机网络 | 是 | 是 | |
| 桥接网络 | 是 | 是 | |
| CNI | 是 | 不适用 | |
| CNM | 不适用 | 是 | Docker 1.11+ |
| L4LB | 是 | 是 | 需要定义的服务端点。TCP 运行状况检查不与 L4LB 配合使用。 |
专用注册表
| 功能 | UCR | Docker |
|---|---|---|
| 基于令牌的容器验证 | 否 | 是 |
| 基于令牌的容器验证 | 是 | 是 |
| 基本容器验证 | 否 | 是 |
| 基本群集验证 | 是 | 是 |
运行状况检查
| 功能 | UCR | Docker | 备注 |
|---|---|---|---|
| TCP | 是 | 是 | 仅限 CLI |
| HTTP/HTTPS | 是 | 是 | 仅限 CLI |
| 命令 | 是 | 是 | |
| 本地 TCP | 是 | 是 | 仅限 CLI |
| 本地 HTTP/HTTPS | 是 | 是 |
DC/OS文档