云原生与弹性计算 / cloud-native-guide
Medium

入门指北

云原神,启动!

云原生虚拟化容器化

本题为开放题,无标准答案

云原生与弹性计算探索指南

欢迎开启云原生技术的学习之旅!本指南将帮助你通过自主探究理解核心概念。请先阅读以下学习建议:

  1. 善用搜索引擎(推荐 Google)
  2. 对复杂概念可向 AI 工具提问
  3. 所有答案请用自己的语言总结

💬 请将你的答案整理成Markdown文档,包含:

  • 概念定义(标注参考资料)
  • 对比分析的图表
  • 实际操作的心得体会
  • 尚未理解的疑难问题

第一阶段:认识容器化技术

📚 核心概念

容器化(Containerization)利用 Linux 内核的命名空间 (Namespace)、控制组 (Cgroups) 等特性实现进程隔离,使多个应用共享操作系统内核却能独立运行。就像货轮上的集装箱,每个"容器"都是标准化的运行环境。

🔍 研究关键词

  • 容器化 Containerization
  • Docker | Kubernetes
  • 裸金属 Bare Metal
  • Linux内核特性(Namespaces/Cgroups/seccomp)

💡 思考题

  1. 为什么说容器是"轻量级"虚拟化?它与Linux内核的哪些机制直接相关?(提示:对比虚拟机启动过程)
  2. 容器化相比传统虚拟化有哪些显著优势?又会带来什么潜在风险?(建议用表格对比)
  3. 举例说明哪些场景特别适合容器化技术?(如:持续集成、微服务部署...)
  4. 共享内核可能引发什么问题?业界如何解决?(调研:gVisor/Kata Containers 方案)
  5. 容器访问GPU等特殊设备的实现原理?(关键词:NVIDIA Container Toolkit)

第二阶段:理解虚拟化技术

📚 核心概念

虚拟化通过 Hypervisor(虚拟机监控器)将物理资源抽象为虚拟资源,允许在单台机器上运行多个独立操作系统。就像用软件"伪造"出多台计算机。

🔍 研究关键词

  • 虚拟化 Virtualization
  • Hypervisor(Type-1/Type-2)
  • KVM | Xen | VMware
  • PCIe 透传(PCI Passthrough)

💡 思考题

  1. Hypervisor 如何协调多个虚拟机对硬件的访问?(对比 Type-1/Type-2 架构差异)
  2. 什么场景下虚拟化比容器化更合适?(考虑:安全隔离、遗留系统兼容...)
  3. 调研主流虚拟化方案,尝试在个人电脑安装 VirtualBox 创建虚拟机
  4. 如何优化虚拟机的启动速度?(探索:模板克隆、内存快照技术)
  5. 虚拟机如何直接控制GPU?(研究:SR-IOV 和 VFIO 机制)

✨ 进阶挑战

  • 用 Docker 部署一个 Python 网站,对比虚拟机部署的耗时差异
  • 尝试自己构建一个容器
  • 设计一个混合使用容器和虚拟机的系统架构

Changelogs:

  • 2025-8-3: 合并“容器化”、“虚拟化”两题,并优化内容
  • 2024-10-8: first version
出题人:可可