K8S-05| Kubernetes 基础架构-分层架构
文章目录
【注意】最后更新于 December 12, 2021,文中内容可能已过时,请谨慎使用。
极客时间《云原生训练营》学习笔记。
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、集群自身的配置和管理等。