写点什么

配置语言 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:144011

评论

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

从源码全面解析 dubbo 服务注册的来龙去脉

Java 源码 dubbo

Java中synchronized锁的深入理解

Java synchronized

腾讯高工内产,Github都没的SpringBoot源码手册

Java spring Spring Boot 框架

惊艳!京东T8纯手码的Redis核心原理手册,基础与源码齐下

Java 数据库 redis 缓存

深度学习进阶篇-国内预训练模型[6]:ERNIE-Doc、THU-ERNIE、K-Encoder融合文本信息和KG知识;原理和模型结构详解。

汀丶人工智能

人工智能 自然语言处理 深度学习 预训练模型 Transformer

校园共享电动车发展现状及未来趋势

共享电单车厂家

共享电动车厂家 校园共享电单车 校内共享电动车

英特尔黑科技加持,腾讯应用宝登陆电脑:安卓应用完美移植PC 更有神器辅助

E科讯

2023年天津等级测评机构有哪些?具体位置在哪里?

行云管家

等保 等保测评 等级 天津

敏捷项目管理中缺陷bug的跟踪和管理

顿顿顿

Scrum 敏捷开发 缺陷管理 敏捷项目管理 敏捷开发管理工具

如何设计一个自动化测试平台

老张

自动化测试 测试开发 测试平台

NFTScan | 05.22~05.28 NFT 市场热点汇总

NFT Research

NFT 热点

CST如何查看哪些 GPU 在线?

思茂信息

cst cst使用教程 cst操作 cst电磁仿真 cst仿真软件

GitHub星标126K的京东「微服务进阶笔记」首次开源!好评如潮

Java你猿哥

Java 架构 微服务 微服务架构 架构师

首届百度商业AI技术创新大赛启动 点燃AIGC革新“星火”

百度Geek说

人工智能 百度 AIGC 企业号 5 月 PK 榜

阿里技术大佬限产的Netty核心原理剖析手册,看完你不心动?

Netty

【论文解读|GL-Cache 】基于组级学习的缓存替换算法

Databend

ERP已死,秒杀系统称王!阿里巴巴内部「10亿级并发设计文档」

Java你猿哥

数据库 缓存 分布式 消息队列 秒杀系统

微服务架构:构建灵活、可拓展和高效的现代应用体系

xfgg

Java 微服务

听听飞桨框架硬核贡献者如何玩转开源!

飞桨PaddlePaddle

开源社区 百度飞桨 PaddlePaddle

CIO视角|平台工程带来的优势与机遇

SEAL安全

IdP 平台工程 企业号 5 月 PK 榜 内部开发平台

500代码行代码手写docker-设置网络命名空间

蓝胖子的编程梦

k8s 容器网络 ,docker 容器网络方案 容器网络平台

5G和led显示屏有什么关系

Dylan

技术 5G LED显示屏

防lombok实现一个Getter注解,AbstractProcessor实例

Java你猿哥

Java ssm lombok

阿里逆天级调优方案,内部这套Java性能调优实战宝典,堪称教科书

Java 性能优化 性能调优

卧薪尝胆30天!啃透京东大牛的高并发设计进阶手册,终获P7意向书

Java 系统设计 高并发

渲大师云主机按量付费功能上线!

Finovy Cloud

渲大师 按量付费

堪称一绝!阿里技术人都用的Nginx笔记手册,应用到架构齐全

nginx

盘点一款好用的运维团队协同软件,用过真香!

行云管家

运维 IT运维 协同合作

CISA零信任成熟度模型(译文)

权说安全

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