华为云计算 云知识 K8S社区架构中对各层的详细定义
K8S社区架构中对各层的详细定义

K8S社区架构中对Kubernetes的分层架构有详细的定义。

1. 内核层

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

由主流K8S codebase实现(主项目),属于K8S的内核、最小特性集。等同于Linux Kernel;

提供必不可少Controller、Scheduler的默认实现;

集群管理类Controller:Node/gc/podgc/volume/namespace/resourcequota/serviceaccount

2. 应用层

部署(无状态/有状态应用、批处理、集群应用等)和路由(服务发现、DNS解析等);

K8S发行版必备功能和API,K8S会提供默认的实现,如Scheduler;

Controller和scheduler可以被替换为各自的实现,但必须通过一致性测试;

业务管理类Controller:daemonset/replicaset/replication/statefulset/cronjob/service/endpoint

3. 治理层

策略执行和自动化编排;

对应用运行的可选层,没有这层功能不影响应用的执行;

自动化API:水平 弹性伸缩 、租户管理、集群管理、动态LB等;

策略API:限速、资源配额、pod可靠性策略、network policy等。

4. 接口层(工具、SDK库、UI等)

K8S官方的项目会提供库、工具、UI等外围工具;

外部可提供自有的实现。

5. 生态层

不属于K8S范围。


其中:

1、内核层:提供最核心的特性最小集以及API,为必选模块;

2、内核层之上:以各种Controller插件方式实现内核层API,支持可替换的实现;

3、内核层之下:是各种适配存储、网络、容器、Cloud Provider等。

上一篇:华为HiLens高级开发 下一篇:数据湖治理中心DGC是什么

云社区是华为云官方技术交流社区。提供技术博客、技术问答、技术视频、技术论坛等产品和服务,汇聚海量精品云计算使用和开发经验。致力于帮助技术人快速成长与发展,营造开放的云计算技术生态圈。