内容转载收拾自 Crossplane 官网博客原文:blog.crossplane.io/function-kc…
内容简介
自 Crossplane v1.14 中的组合函数 Beta 版发布以来,运用 Crossplane 构建云原生渠道的可能体会范围一直在迅速扩大。KCL 团队在第一时间进行跟进并自动构建了一个可重用的函数,整个 Crossplane 生态系统现在能够利用 KCL 供给的高水平经验和才能来构建自己的云原生渠道。
一起 Crossplane 宣告 KCL 函数成为第一个发布到 Upbound 商场的第三方函数组件,地址为marketplace.upbound.io/providers/c… 。源代码能够在github.com/crossplane-…找到,欢迎奉献和反应。
您能够经过运用以下一行指令装置 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 官方博客内容:blog.crossplane.io/function-kc…
此外,这两种办法都需要 Registry 来协助完成作业。它们之间的终究挑选可能取决于您的操作习惯和环境成本。不管挑选哪种办法,咱们都建议在 Git 中维护 KCL 代码,以便更好地施行 GitOps 并取得更好的 IDE 体会和可重用模块,例如运用 Crossplane AWS Module:github.com/kcl-lang/mo…
小结
现在 function-kcl 项目已捐赠给 Crossplane 社区,咱们鼓舞整个社区对其进行测验,并尝试运用 KCL(Crossplane Functions 供给的最新高档言语体会)构建云原生控制平面。咱们非常欢迎社区在GitHub 上的存储库中供给奉献和反应。让咱们知道您的想法!github.com/crossplane-…
更多其他资源请参考:
- KCL 网站:kcl-lang.io/
- KusionStack 网站:kusionstack.io/
- KCL v0.9.0 Milestone:github.com/kcl-lang/kc…