QCon 上海策划了LLM 落地应用、AI Agent、Code Assistant、业务安全等 了解详情
写点什么

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

评论

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

软件测试/测试开发丨Python 装饰器 学习笔记

测试人

Python 程序员 软件测试 装饰器 测试开发

点云标注在自动驾驶中的实时性要求

来自四九城儿

WIFI7 QCN9274 -WIFI6E QCN9074 chip difference MU-MIMO+TWT technology

wifi6-yiyi

wifi6 WiFi7

【福利活动】深度体验OpenHarmony对接华为云IoT

OpenHarmony开发者

OpenHarmony

鸿煦科技刘敏:小程序云开发降本增效实践之路

TRaaS

小程序 支付宝 开发

HuntingNFT 全新玩法引爆市场,GameFi掘金新热土?

威廉META

来聊点认证与授权的话题

为自己带盐

.net core OAuth 2.0 Openiddict

灵动AI推出业内首个工业级“AI商品图”生成工具 并获小米联合创始人黎万强天使投资

TE智库

你了解Vue3组合式API吗?

OpenTiny社区

Vue 前端框架 开源组件库

香港VPS大揭秘:轻松打造超高流量网站

一只扑棱蛾子

VPS 香港VPS

九州八荒录H5游戏详细图文架设教程

echeverra

游戏开发

KISS & YAGNI

Lemoon Can

设计原则 KISS YAGNI

2 种方式查找极狐GitLab 容器镜像 Tag,几分钟快速构建私有化部署实例

极狐GitLab

DevOps gitlab Helm 容器镜像 Omnibus package

如果你在选型低代码平台,可以从这5个角度去分析抉择

互联网工科生

源码 低代码 系统集成 私有化部署

QQ开展外挂专项整治,守护用户社交环境安全

Geek_2d6073

腾讯云 Cloud Studio 实战训练营活动招募中

CODING DevOps

活动 cloudstudio 云端 IDE

实时数仓:Iceberg

腾讯云大数据

数据仓库

低代码——可视化软件开发工具

这我可不懂

编程语言 低代码 低代码开发

一文帮你全面认识方天视窗引擎

openEuler

Linux 开源 操作系统 openEuler 视窗引擎

我的 Obsidian 笔记跨设备同步方案

专注前端开发

工具 笔记 Obsidian

当流计算邂逅数据湖:Paimon 的前生今世

Apache Flink

大数据 flink 实时计算

给世界一个更好的选择,“龙蜥+超级探访”首期嘉宾预告片震撼来袭!

OpenAnolis小助手

开源 操作系统 龙蜥社区 统信软件 超级探访

Java基础!Java反射机制!!

java易二三

Java 编程 互联网 计算机

一套Java/.Net+Vue前后端分离的低代码快速开发框架

高端章鱼哥

Java .net Vue 低代码

OpenSSL 3.0.0 设计(一)|介绍、术语与架构

铜锁开源密码库

开源 算法 信息安全 密码学 铜锁

Java构建树结构的公共方法

高端章鱼哥

java基础 树结构

门槛一降再降,易用性大幅提升!Milvus 2.2.12 持续升级中

Zilliz

Milvus Zilliz 向量数据库

程序员必读十大电子书

六月的雨在InfoQ

电子书 Java工程师成神之路

HuntingNFT 全新玩法引爆市场,GameFi掘金新热土?

鳄鱼视界

提高代码质量!详解在Gradle项目中使用PMD的正确姿势

树上有只程序猿

Gradle

git撤销某一次commit提交

树上有只程序猿

git

  • 扫码添加小助手
    领取最新资料包
配置语言 KCL 正式成为CNCF 沙盒项目_编程语言_褚杏娟_InfoQ精选文章