官宣!知名 IaC 工具 Crossplane 宣布 KCL 登陆其官方函数市场! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
peefy

官宣!知名 IaC 工具 Crossplane 宣布 KCL 登陆其官方函数市场!

  •  
  •   peefy Mar 4, 2024 1602 views
    This topic created in 785 days ago, the information mentioned may be changed or developed.

    内容转载整理自 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 控制平面中使用:

    crossplanexpkginstallfunctionxpkg.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

    更多其他资源请参考:

    No Comments Yet
    About     Help     Advertise     Blog     API     FAQ     Solana     5424 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 08:32 PVG 16:32 LAX 01:32 JFK 04:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86