写点什么

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

评论

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

数据库-MySQL-基础(1)

Geek_a7ae15

MySQL 数据库

菲尔兹奖得主小平邦彦:数学是什么?

图灵教育

数学

翻遍GitHub,这份MySQL全面手册,受喜爱程度不输任何大厂笔记

Geek_0c76c3

Java MySQL 程序员 架构 面试

阿里 DBA 首次公开 MySQL 调优笔记,GitHub上已经开始疯狂涨星

Geek_0c76c3

Java 数据库 开源 程序员 面试

浅析+在Node中实现JWT鉴权机制!

CoderBin

前端 Node JWT Express 10月月更

技术分享预告|DocArray x Redis 比快更快的向量搜索

Jina AI

人工智能 开源 算法 向量检索 神经搜索

大闸蟹套路多?“码”上溯源让你安心吃蟹!

旺链科技

区块链 产业区块链 大闸蟹

抖音后端123面开挂,全靠这份啃了58天的「Java进阶核心知识集」

Geek_0c76c3

Java 数据库 程序员 架构 面试

MASA MAUI Plugin IOS蓝牙低功耗(三)蓝牙扫描

MASA技术团队

MASA MAUI Xamarin MASA Blazor

三翼鸟:智能的是产品,智慧的是生活

脑极体

leetcode 785. Is Graph Bipartite判断二分图 (中等)

okokabcd

LeetCode 数据结构与算法

快速上手SpringBoot

亮点

Java spring-boot 10月月更

来看看这份对标80W+年薪的Java进阶路线图,职业规划路线该怎么走一目了然!

Geek_0c76c3

Java 程序员 架构 面试

启科量子国产量子编程软件项目将启动开源计划

启科量子开发者官方号

人工智能 量子计算 量子模拟 Python. C++

新型蜜罐有哪些?未来方向如何?

郑州埃文科技

蜜罐 隔离攻击IP

唐刘:透明一切,是我们在复杂环境下与客户建立信任的最佳途径

PingCAP

TiDB

多云管理平台支持哪些平台?哪款比较火?

行云管家

云计算 多云 云管理

【等保小知识】等保备案和等保测评有什么差别?

行云管家

等保 等级保护 等保测评 等保备案 等级测评

一文读懂 MySQL 索引

说故事的五公子

MySQL 数据库 索引

从简历被拒到收割8个大厂offer,我只用了三个月

程序知音

Java 架构 java面试 后端技术 Java面试八股文

GitHub已置顶安排!Alibaba最终Guide版Java面试突击宝典+架构师系统进阶指南

Geek_0c76c3

Java 数据库 开源 程序员 开发

菲尔兹奖得主小平邦彦:数学是什么?

图灵社区

数学

【LeetCode】仅执行一次字符串交换能否使两个字符串相等Java题解

Albert

LeetCode 10月月更

LeetCode第一个错误版本使用JavaScript解题

大师兄

算法 前端 10月月更

百度App性能优化工具篇 - Thor原理及实践

百度Geek说

Java App 企业号十月 PK 榜

HummerRisk V0.4发布:新增云资源态势、资源拓扑、检测规则组、支持在 K8s 安装及大量功能优化

HummerCloud

云计算 云原生 态势感知 云安全 混合云

给传统零售企业穿上“云武装”!

天翼云开发者社区

带你读AI论文丨ACGAN-动漫头像生成

华为云开发者联盟

神经网络 GAN AI论文 ACGAN-动漫头像 企业号十月 PK 榜

OpenHarmony社区运营报告(2022年9月)

OpenHarmony开发者

OpenHarmony

ShareSDK Android端权限说明

MobTech袤博科技

sdk Andriod

算法基础(五)| 差分算法及模板详解

timerring

算法 10月月更 差分算法

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