容器技术全解析:从理论到实践
一、容器运行时类型
1.1 虚拟运行时
虚拟运行时不使用代理层,而是创建虚拟机来替代主机内核。虽然这类运行时速度可能较慢,但能提供强大的保护。目前可用的虚拟运行时包括 Katacontainers、Sysbox 和 Firecracker - containerd 等。
1.2 容器运行时接口(CRI)
随着容器工作负载的增长和 Kubernetes 等工具的发展,需要摆脱硬编码在 kubelet 守护进程中的运行时。于是,人们创建了新的接口,让 Kubernetes 等工具能与任何容器运行时通信,无需每次使用新运行时都重新编译 kubelet,这增加了切换原生运行时的灵活性。
CRI 需要具备以下功能:
- 启动和停止 Pod
- 管理 Pod 内的启动、停止和终止操作
- 从容器注册表拉取和推送镜像
- 辅助指标和日志检索
目前有两个主要的 CRI 选项:
- Containerd :由 Docker 开发的高级运行时,底层使用 runc。它具备 CRI 的所有功能,是 CRI 的优秀示例。
- CRI - O :是 CRI 的精简实现。Red Hat 目前支持将其集成到 Kubernetes 及其 OpenShift 产品中,采用 CRI 架构取代了 Docker,便于切换底层运行时。
1.3 容器引擎
容器引擎是实际创建容器的层,就像虚拟机需要 hypervisor 才能运行一样,容器需要容器引擎。
容器技术从理论到实践
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



