Wrayの知识库 Wrayの知识库
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
  • 操作系统概述
  • 计算机基础

    • 计算机系统全景
    • 数制编码与数据表示
    • CPU架构与指令执行
    • 内存层次与缓存
    • 总线IO与设备模型
    • 文件存储与磁盘
    • 网络基础与协议栈
    • 虚拟化容器与云基础
      • 1. 学习目标
      • 2. 知识框架
      • 3. 核心概念
      • 4. 机制与实践
      • 5. 常用命令与工具
      • 6. 常见误区
      • 7. 进阶研究方向
      • 8. Tips 快问快答
      • 9. 总结
  • 操作系统原理

  • Linux

  • MacOS

  • Windows

  • 系统工程与研究专题

目录

虚拟化容器与云基础

今天的操作系统很少只运行在裸金属上。虚拟机、容器、Kubernetes 和云主机改变了资源边界,也改变了排障方式。

# 1. 学习目标

  • 理解虚拟机和容器的核心差异。
  • 能解释 cgroup、namespace、镜像、卷和网络命名空间。
  • 能在云和容器环境下正确判断 CPU、内存、磁盘和网络限制。

# 2. 知识框架

虚拟化容器与云基础
├─ 入门:建立术语、对象和日常操作的直觉
├─ 进阶:理解机制、边界和跨平台差异
└─ 专家:能排障、能设计、能阅读实现和研究材料

虚拟化偏向“模拟一台机器”,容器偏向“隔离一组进程”。云平台再把计算、存储、网络和权限封装成可编排资源。

# 3. 核心概念

主题 说明 工程关注
虚拟机 通过 Hypervisor 运行完整客户操作系统 强隔离、启动较慢、资源开销较高
容器 共享宿主机内核,通过隔离机制运行进程 轻量、快速、依赖内核能力
cgroup 限制和统计 CPU、内存、IO 等资源 容器限额、OOM、节流
namespace 隔离进程、网络、挂载、用户等视图 容器隔离、调试边界

# 4. 机制与实践

  1. 容器内看到的 CPU 和内存不一定等于宿主机资源,要看 cgroup 限制。
  2. 生产镜像要控制体积、用户权限、依赖版本和漏洞扫描。
  3. 云上排障要同时看实例、磁盘、负载均衡、安全组、DNS 和平台事件。

# 5. 常用命令与工具

命令或工具 作用 使用建议
docker inspect container 查看容器配置和资源限制 定位挂载、网络、环境变量
cat /proc/self/cgroup 查看当前进程所属 cgroup 判断是否在容器内
kubectl describe pod pod 查看 Pod 调度、事件和资源信息 Kubernetes 排障入口

# 6. 常见误区

  • 把容器当虚拟机使用:容器通常只运行一个主进程,生命周期和文件系统语义不同。
  • 忽略资源限额:CPU throttling 和内存 OOM 可能来自平台限制而不是宿主机资源不足。
  • 依赖本地可变状态:容器重建后本地文件可能丢失,持久数据要使用卷或外部存储。

# 7. 进阶研究方向

  • 阅读 Linux namespace 和 cgroup 的原理。
  • 研究容器网络从 veth、bridge 到 CNI 的路径。
  • 学习云平台安全组、IAM、负载均衡和块存储的一致性模型。

# 8. Tips 快问快答

Q:容器是不是虚拟机?

A:不是。容器共享宿主机内核,虚拟机通常运行完整客户操作系统。

Q:容器里为什么 top 看到的资源不准?

A:不同工具读取宿主机或 cgroup 统计的方式不同,要结合 cgroup 文件和平台指标判断。

Q:云主机和物理机排障有什么不同?

A:云上还要考虑宿主机、虚拟化层、云盘、负载均衡、安全组和平台事件。

# 9. 总结

虚拟化、容器和云让资源更容易交付,也让边界更抽象。理解隔离、限额和平台层后,才能避免用裸机经验误判云原生问题。

上次更新: 2026/06/25, 10:02:19
网络基础与协议栈
操作系统职责与内核架构

← 网络基础与协议栈 操作系统职责与内核架构→

Copyright © 2023-2026 Wray | 鄂ICP备2024050235号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式