官宣!知名 IaC 工具 Crossplane 宣布 KCL 登陆其官方函数市场!
内容转载整理自 Crossplane 官网博客原文:https://blog.crossplane.io/function-kcl
内容简介
自 Crossplane v1.14 中的组合函数 Beta 版发布以来,使用 Crossplane 构建云原生平台的可能体验范围一直在迅速扩大。KCL 团队在第一时间进行跟进并主动构建了一个可重用的函数,整个 Crossplane 生态系统现在可以利用 KCL 提供的高水平经验和能力来构建自己的云原生平台。
同时 Crossplane 宣布 KCL 函数成为第一个发布到 Upbound 市场的第三方函数组件,地址为 https://marketplace.upbound.io/providers/crossplane-contrib/function-kcl 。源代码可以在 https://github.com/crossplane-contrib/function-kcl 找到,欢迎贡献和反馈。
您可以通过使用以下一行命令安装 function-kcl 并开始在整个 Crossplane 控制平面中使用:
crossplane xpkg install function xpkg.upbound.io/crossplane-contrib/function-kcl:v0.2.0
Crossplane 团队和社区感谢 KCL 团队的这笔巨大捐赠,以及对不断发展的 Functions for Crossplane 生态系统的巨大补充!
Crossplane 及其组合模型允许开发人员创建更高级别的抽象,这些抽象可以封装和组合跨不同提供商和服务的多种类型的云资源。使用组合函数来渲染这些抽象可以有效增强各种提供者资源的模板功能,同时减少所需的 YAML 代码量。
将 KCL 与 Crossplane 组合函数结合起来有几个好处:
-
简化复杂配置:KCL 提供了比一般 DSL 更简洁的语法和结构,降低了配置的复杂性。与 Crossplane 的复合资源结合时,您可以创建更直观且易于理解的具有循环和条件功能的配置模板对接到不同的云平台,从而简化资源的定义和维护,而不是编写重复的 YAML 模版。
-
可重用性和模块化:KCL 通过 OCI Registry 支持模块化和代码重用,这意味着您可以创建可重用的配置组件。与 Crossplane 结合,可以促进复合资源的模块化,提高配置的重用性,并减少错误。
-
自动化和策略支持:您可以使用 KCL 的强大功能来编写策略和约束,这些策略和约束与 Crossplane 的声明性资源管理相结合,且可以自动实施,从而确保云环境中的合规性,进一步提升效率和稳定性。
快速开始
有两种将 KCL 和 Crossplane 结合使用的方式
-
一种是使用 KCL 编写 Crossplane 组合函数并安装到集群使用,仍然采用 YAML 来定义 App Team 所需的 Schema 和输入,使用 KCL 撰写渲染逻辑到 Crossplane Manged Resource 的逻辑以对接不同的云平台或者 Kubernetes 集群。需要注意的是:这种方式既可以将 KCL 函数安装到集群中使用,也可以使用 crossplane beta render 命令直接在客户端完成 Manged Resource 的渲染。
-
另外一种是使用 KCL 完全在客户端提供面向应用开发者的抽象并生成 Crossplane 托管资源下发到集群,提供 Kubernetes 的统一可编程接入层,具体使用 KCL Schema 规定 App Team 所需的 Schema 输入,并撰写渲染到 Crossplane Manged Resource 的逻辑以对接不同的云平台或者 Kubernetes 集群
两种方法的具体操作方式可以查看 Crossplane 官方博客内容:https://blog.crossplane.io/function-kcl
此外,这两种方式都需要 Registry 来协助完成工作。它们之间的最终选择可能取决于您的操作习惯和环境成本。无论选择哪种方法,我们都建议在 Git 中维护 KCL 代码,以便更好地实施 GitOps 并获得更好的 IDE 体验和可重用模块,例如使用 Crossplane AWS Module: https://github.com/kcl-lang/modules/tree/main/crossplane-provider-aws
小结
现在 function-kcl 项目已捐赠给 Crossplane 社区,我们鼓励整个社区对其进行测试,并尝试使用 KCL(Crossplane Functions 提供的最新高级语言体验)构建云原生控制平面。我们非常欢迎社区在GitHub 上的存储库中提供贡献和反馈。让我们知道您的想法!https://github.com/crossplane-contrib/function-kcl
更多其他资源请参考:
-
KCL 网站: https://kcl-lang.io/
-
KusionStack 网站: https://kusionstack.io/
-
KCL v0.9.0 Milestone: https://github.com/kcl-lang/kcl/milestone/9

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2024游戏行业开发者报告:1/3开发者受裁员影响,大部分人对AI担忧
游戏开发者大会(GDC)携手游戏媒体 Game Developer 发布了《2024 年游戏行业现状报告》,报告基于对超过3000名游戏开发者的调查,提供了对行业现状的深入洞察。 以下是报告的核心内容概述: 行业挑战与机遇: 游戏行业经历了艰难的一年,许多工作室关闭,数千名开发者被裁员,这主要是由于工作室合并和市场变化。 生成性AI技术的发展可能提高生产力,但同时也可能导致更多的行业动荡。 电影和电视改编作品的兴起为游戏行业带来了新的观众,同时也为开发者提供了新的工作机会。 开发者状况: 56%的受访开发者在游戏开发领域工作不超过10年,这与前几年保持一致。 游戏设计和编程/工程是最受欢迎的工作角色,尤其是对于18-24岁的年轻开发者。 32%的开发者在独立工作室工作,而AAA和AA工作室的开发者分别占18%和11%。 平台与技术: PC是最受欢迎的开发平台,66%的开发者当前项目在PC上开发,57%计划在未来项目中支持PC。 Unity和Unreal Engine是最受欢迎的游戏引擎,各有33%的开发者使用。 33%的开发者在过去一年中考虑过更换游戏引擎,主要原因是Unity的政策变...
- 下一篇
【比较mybatis、lazy、sqltoy、mybatis-flex、easy-query】(三)
orm框架使用性能比较 比较mybatis、lazy、sqltoy、mybatis-flex、easy-query操作数据 环境: idea jdk17 spring boot 3.0.7 mysql 8.0 测试条件常规对象 orm 框架 是否支持xml 是否支持 Lambda 对比版本 mybatis ☑️ ☑️ 3.5.4 sqltoy ☑️ ☑️ 5.2.98 lazy ✖️ ☑️ 1.2.4-JDK17-SNAPSHOT mybatis-flex ☑️ ☑️ 1.8.0 easy-query ✖️ ☑️ 1.10.31 数据库表(含有唯一性索引s_u) CREATE TABLE `sys_user` ( `column_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '额外字段', `create_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', ...
相关文章
文章评论
共有0条评论来说两句吧...