当前位置:首页 > 报告详情

KCL重塑配置管理界面丨平台工程技术大会.pdf

上传人: 2*** 编号:139884 2023-08-27 37页 6.84MB

1、使用 KCL 重塑配置管理界面徐鹏飞|KCL 项目 Maintainer目录01背景02概念04实践03架构05规划背景01 认知认知负担负担应用开发人员需要面对复杂的基础设施和平台概念不像基础设施配置有 Terraform 等 IaC 工具,Kubernetes 是平台的平台,特别是在客户端缺乏轻量的配置组合和校验工具 静态配置静态配置YAML 膨胀,维度爆炸跨团队配置协作负担和配置漂移 效率效率、可靠性低可靠性低缺乏标准的测试验证手段,大多是胶水代码或者脚本的拼盘缺乏高效配置协同的工具,大多通过人肉拉群解决减轻基础设施对开发人员的负担,提高配置管理效率背景Kubernetes 中的声明式应

2、用管理:https:/ 平台工程白皮书:https:/tag-app-cf.io/whitepapers/platforms/Google SRE 工作手册:https:/sre.google/workbook/configuration-specifics/屏蔽基础设施和平台细节,降低开发者认知负担屏蔽基础设施和平台细节,降低开发者认知负担自定义抽象模型解决 YAML 或者模版配置维度爆炸问题可编程支持:逻辑、类型、函数、模块、无副作用地进行大规模配置管理无副作用地进行大规模配置管理可扩展风险左移自动化高性能包管理支持通过插件为已有的配置管理工具进行增强通过插件为已有的配置管理工具进行增强H

3、elmKustomizekpt背景KCL 可以做什么概念02开发者可以理解的声明式应用配置模型动态配置管理 DCM:可编程可扩展关注点分离:应用/平台Dev/SRE风险左移:实时的配置错误提示标准的 OCI 配置交付和包管理支持:KPMValidation:通过 KCL Schema/Rule 等结构对配置进行约束校验Mutation:通过 KCL 函数对资源进行变换或注入配置配置Standalone KCL 形式形式遵循统一的遵循统一的 KRM Function 规范规范可编程可扩展可编程可扩展多种代码源支持:OCI,Git,Https,https:/ KCL 形式形式https:/kcl-

4、lang.io/docs/user_docs/guides/gitops/gitops-quick-start配置驱动的工作流:同时支持Standalone KCL 和KRM KCL 配置格式多种 CI/CD 和 GitOps 工具支持自动化多语言 SDK:Go,Rust,Python,Java包管理支持:KPM 工具和多种 Registry 支持数据和 Schema 集成:KCL Import 工具运行时集成:使用 KCL Operator 而不是重复开发Admission WebhookKRM 支持:统一的规范和插件支持 e.g.,kubectl-kcl plugin,helm-kcl p

5、lugin,kustomize-kcl plugin,kpt-kcl-plugin 平台工程工具支持:作为 DCM 语言配合不同引擎/编排器进行应用交付IaC/IaDAdmission RequestMutating/Validating WebhookKCL OperatorHelm/Kustomize/KPT/.KCL Plugins客户端运行时SDKs集成架构03Language+Tools+IDEs+SDKs+PluginsTools&CI/CD Engagementkcl-formatkcl-lintkcl-testkcl-docKCL Coding AssistantHighlig

6、htGo To Def/RefCompletionFormatCompileDebugError/Warning CheckingTestLSPKCL Language ServerKCL CompilerKCL Package Manager工作空间组件技术架构配置生成自动合并多种合并策略支持配置变换数据/Schema 集成CRUD API配置校验静态类型约束规则不可变性配置抽象关注点分离KCL SETTA 2022 Paper:https:/ 引擎Structured KVTemplated KVProgrammable KVTyped KVModeled KVPros.Easy to w

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了KCL(Kubernetes Configuration Language)这一云原生配置建模技术栈,旨在减轻应用开发人员面对的基础设施和平台概念的认知负担。KCL提供了一种可编程、可扩展的声明式应用配置模型,关注点分离,支持动态配置管理,以及实时的配置错误提示。它遵循KRM(Kubernetes Resource Model)函数规范,支持多种代码源,如OCI、Git、Https等,并可与各类CI/CD和GitOps工具集成。KCL还提供包管理支持,并可通过插件增强现有配置管理工具,如Helm、Kustomize、kpt等。在架构上,KCL结合了语言、工具、IDE、SDK和插件,提供了一种统一的应用和基础设施API层。未来,KCL计划发展成一种基于AI的编程语言,将平台/云能力抽象封装成DSL,实现统一的应用和基础设施引擎。
"KCL如何减轻基础设施对开发人员的负担?" "KCL如何提高配置管理效率和可靠性?" "KCL如何实现关注点分离和风险左移?"
客服
商务合作
小程序
服务号
折叠