写点什么

配置语言 KCL 正式成为 CNCF 沙盒项目

  • 2023-09-19
    北京
  • 本文字数:1367 字

    阅读完需:约 4 分钟

大小:753.16K时长:04:17
配置语言 KCL 正式成为CNCF 沙盒项目

9 月 12 日, 配置语言 KCL 项目通过了云原生计算基金会(CNCF)技术监督委员会评定,正式成为 CNCF 沙箱项目。

 

KCL 是一个开源的基于约束的记录及函数语言,旨在通过成熟的编程语言技术和实践来改进大量繁杂配置比如云原生 Kubernetes 配置场景的编写等,致力于围绕配置的模块化、扩展性和稳定性,打造更简单的逻辑编写体验,构建更简单的自动化和生态集成路径。KCL 在 2022 年 5 月正式开源,并在今年 6 月 成为 CNCF Landscape 项目。

 

当前,在轻量级客户端云原生动态配置领域,配置语言及工具存在如下问题:

 

  • 维度爆炸:大多数静态配置如云原生领域的 Kubernetes YAML 配置需要为每个环境单独进行配置;在最糟糕的情况下,它可能引入涉及环境交叉链接的难以调试的错误,稳定性和扩展性都较差。

  • 配置漂移:对于不同环境的静态管理应用程序和基础设施配置的方式,往往没有标准的方式去管理这些动态的不同环境的配置,采用非标准化的方法比如脚本和胶水代码的拼盘,会导致复杂度呈指数增长,并导致配置漂移。

  • 认知负担:Kubernetes 等作为构建平台的平台技术手段在底层统一基础架构细节方面出色,但是缺乏更上层的应用软件交付抽象,对于普通开发者认知负担较高,影响了更上层应用开发者的软件交付体验。

 

在云原生配置和自动化的特定问题域内,KCL 使用专用配置和策略语言用于编写和管理规模化复杂配置及策略。不同于混合编写范式、混合工程能力的高级通用语言,专用语言的核心逻辑是以收敛的有限的语法、语义集合解决领域问题近乎无限的变化和复杂性,将复杂配置和策略编写思路和方式沉淀到语言特性中。具体来说,KCL 具备以下能力:

 

  • 在代码层面提升配置语义验证的能力,比如 Schema 定义、字段可选/必选、类型、范围等配置检查校验能力;

  • 提供配置分块编写、组合和抽象的能力,比如结构定义、结构继承、约束定义和配置策略合并等;

  • 用现代编程语言的方式以编写代码的方式提升配置的灵活度,比如条件语句、循环、函数、包管理等特性提升配置重用的能力;

  • 提供完备的工具链支持,丰富的 IDE 插件、语言和生态工具链支持用以降低上手门槛,提升使用体验;

  • 通过包管理工具 和 OCI 注册表,使得配置以更简单的方式在不同团队/角色之间分享,传播和交付;

  • 提供高性能的编译器满足规模化配置场景诉求,比如满足由一份基线配置根据部署上下文生成不同环境、不同拓扑配置的渲染性能以及配置自动化修改性能诉求;

  • 通过多语言 SDK、KCL 语言插件等手段提升其自动化集成能力,在发挥配置及策略编写价值的同时显著降低 KCL 的学习成本。

 

作为一种配置语言,KCL 为应用程序和平台开发人员/SRE 提供的最重要的功能是动态配置管理。通过代码抽象,构建以应用为中心的模型屏蔽复杂的基础设施和平台概念,为开发人员提供一个以应用程序为中心且易于理解的界面。

 

KCL 支持与 Kubernetes Resource Model (KRM) 规范直接集成。无论是使用独立的 KCL 还是 KRM KCL 配置形式, KCL 可以与各种 CI/CD 和 GitOps 工具的集成。此外,KCL 还与 CNCF 其他众多生态项目进行了集成,比如 Helm、Kustomize、kpt 等,还在运行时提供 KCL Kubernetes Operator,以满足不同场景的配置管理需求等。

 

更多信息可以查看:

项目地址:https://github.com/kcl-lang/kcl

项目官网:https://kcl-lang.io

KCL 2023 路线规划:https://kcl-lang.io/docs/community/release-policy/roadmap


2023-09-19 12:144492

评论

发布
暂无评论
发现更多内容

阿里团队发布智能体 iFlow CLI,性能超Claude Code,个人用户永久免费使用

新消费日报

助力中小企业上云,伊克罗德信息荣获Amazon SMB Competency能力认证!

伊克罗德信息科技

BTrace

数新网络官方账号

GitHub btrace

闲鱼API系列:如何通过商品列表接口构建智能比价工具

tbapi

闲鱼API 闲鱼商品列表接口 闲鱼数据采集 闲鱼商品列表api 闲鱼数据详情

天玑9500 GPU迈入PC级画质时代,安卓机秒变3A掌机

新消费日报

字节跳动深夜公告,跨境电商迎来新机遇

Wolink

跨境贸易 中美贸易 Tiktok shop 沃链Wolink 达人营销

黑龙江二级等保:企业信息安全的基础防线

等保测评

区块链APP外包开发流程

北京木奇科技有限公司

区块链开发 软件外包公司 APP外包公司

区块链APP的开发框架

北京木奇科技有限公司

dapp开发 区块链开发 软件外包公司

做到高效管理:YashanDB数据库的实用方法

数据库砖家

仁合医疗投资是真的吗?——进博会亮点,创新成果获赞誉

科技汇

YashanDB升级迁移过程中减少风险和提高效率

数据库砖家

哈尔滨等保测评:区域特色下的信息安全防护指南

等保测评

MES如何通过采集人、机、料数据实现追溯、优化与无纸化

万界星空科技

数字化转型 制造业 智能制造 mes 智能化MES

区块链DAPP的开发框架

北京木奇科技有限公司

dapp开发 区块链开发 软件外包公司

融媒体平台如何借力海外舆情监测提升国际传播影响力?

沃观Wovision

舆情监控 舆情监测 沃观Wovision 舆情监测系统 海外舆情监测

CST软件机箱屏蔽效能仿真案例

思茂信息

cst CST软件 CST Studio Suite

商汤大装置AI Agent Infra实践,加速智能时代创新效能

Lily

惊喜!接入 skywalking 也能直接故障定位了

乘云数字DataBuff

可观测 AIAgent 运维智能体 大模型运维

掌握YashanDB备份策略,保障企业数据安全

数据库砖家

掌握YashanDB数据库的查询优化技术,提高查询效率

数据库砖家

YashanDB数据库升级流程及版本兼容性注意点

数据库砖家

阿里将发布多模态模型 Qwen3-Omni,主打多语言与复杂推理;DeepvBrowser 上线 AI 语音浏览器丨日报

RTE开发者社区

海外APP上线Google Play的过程

北京木奇科技有限公司

APP开发 软件外包公司 海外APP

大数据-104 Spark Streaming 与 Kafka 集成:Offset 管理机制详解与最佳实践 Scala实现

武子康

Java 大数据 flink spark 分布式

基于浏览器扩展 API Mock 工具开发探索|得物技术

得物技术

大前端

从混沌到秩序:Java共享内存模型如何通过显式约束驯服并发?

poemyang

并发编程 Java并发编程 竞态条件

面向中大型企业,Moka Eva 优化 AI招聘管理系统流程

科技汇

鸿蒙项目开发——Window和Display获取屏幕信息

高心星

鸿蒙 window HarmonyOS5.1 display 屏幕管理

闲鱼商品详情API技术文档

tbapi

闲鱼API 闲鱼商品数据采集 闲鱼商品详情API 闲鱼商品数据分析

配置语言 KCL 正式成为CNCF 沙盒项目_编程语言_褚杏娟_InfoQ精选文章