极客时间《云原生训练营》学习笔记。

Kubernetes 基础架构-分层架构

分层架构

  • 核心层:Kubernetes 最核心的功能,对外提供 API 构建高层的应用,对内提供插件式应用执行环境。

    核心层里面放的是最最核心的那些对象,提供最核心的API,比如 POD、NODE、 SERVICE、NAMESPACE等,就是运行一个应用的一些最基本对象

  • 应用层:部署(无状态应用、有状态应用、批处理任务、集群应用等)和路由(服务发现、DNS 解析 等)。

    主要解决面向不同的应用。我应该去怎么样去抽象它的部署和服务发现?

    对于无状态应用来说就 deployment

    对于有状态应用来说是 statefulSet

    批处理作业 job

    。。。

  • 管理层:系统度量(如基础设施、容器和网络的度量)、自动化(如自动扩展、动态 Provision 等)、 策略管理(RBAC、Quota、PSP、NetworkPolicy 等)。

    主机解决更高级的需求, 如 隔离需求,安全需求,配额控制需求,自动的扩缩容的能力等

  • 接口层:Kubectl 命令行工具、客户端 SDK 以及集群联邦。

  • 生态系统:在接口层之上的庞大容器集群管理调度的生态系统,可以划分为两个范畴:

    • Kubernetes 外部:日志、监控、配置管理、CI、CD、Workflow、FaaS、OTS 应用、 ChatOps 等;
    • Kubernetes 内部:CRI、CNI、CVI、镜像仓库、Cloud Provider、集群自身的配置和管理等。

image-20211212194729841

image-20211212194800191