3.1 Kubernetes 核心设计与架构

容器技术组成:

  • Linux Namespace
  • Linux Cgroups
  • rootfs

  • /var/lib/docker/aufs/mnt 容器镜像

  • Namespace+Cgroups 容器运行时

Borg 项目:

image.png

image.png

  • kubelet 主要同容器运行时交互
    • 依赖 CRI
    • OCI 容器运行时规范, 同底层 Linux 操作系统交互
  • 调用网络插件, 存储插件来配置网络和持久化存储
    • CNI 容器网络接口
    • CSI 容器调皮时接口

Borg项目完全可以把Docker镜像看作一种新的应用打包方式°这样’Borg团队过去在大规模作业管理与编排上的经验就可以直接“套用”在Kubemetes项目上了。

3.2 Kubernetes 核心能力与项目定位

Kubernetes 项目的核心能力是要解决—个比PaaS更加基础的问题:

  • 在大规模集群中的各种任务之间运行’实际上存在各种各样的关系。处理这些关系才是作业编排和管理系统最困难的地方。

Kubemetes项目最主要的设计思想就是,以统—的方式抽象底层基础设施能力(比如计算`存储`网络),定义任务编排的各种关系(比如亲密关系`访问关系`代理关系)’将这些抽象以声明式API的方式对外暴露,从而允许平台构建者基于这些抽象进—步构建自己的PaaS乃至任何上层平台。

image.png