TOC
什么是KCL
生态难点
主要讲一下我在使用 KCL 过程中的一些情况,有时由于语法问题摸不着头脑,我总是会在 slack 给 KCL 语言的创始人之一 @Peefy 提问,这不仅仅是我一个人,对于一个新的语言,可能很多人在刚接触时都会出现这样的情况,因此需要对这个新语言进行更多的知识传播,否则就会将核心开发者的时间都限制在回答语言语法问题上.
使用场景
yaml 配置管理
当谈到 yaml 时很容易联想到 kubernetes 资源的 yaml 文件,但目前我个人的使用场景更多的是管理 Kind 的配置文件,因为我会有很多种不同的 Kind 实验场景.大多数情况是使用两份 kind.yaml 配置文件,但不可避免的会有一些比较类似的场景,折中情况下我会抽离出公共的内容,然后使用 KCL 来完成差异化的配置.
在使用 KCL 之前我使用的是 yqtt 来完成这部分工作的,但在 KCL 出来之后我立刻将这部分工作从 yqtt 逐步迁移到了 KCL.主要原因是 yqtt 只是Cervel 中的一个工具,并且社区目前(2023年11月)似乎不太活跃,因此我当时引入 yqtt 来做这部分是因为是 CNCF 项目,但由于活跃度问题因此我也只是在部分内容上引入了 yqtt 作为一个小尝试.
但目前我正在将这部分全部使用 KCL 来完成,一方面是 KCL 目前已经是 CNCF 项目,另一方面是 KCL 项目就是专注于这部分内容的,并且是国产的(蚂蚁金服),目前(2023年11月)也挺活跃的,因此我才大胆的迈出这一步.
总结一下我目前个人实验的场景:
- Kind 配置文件
- Envoy 配置文件
- kubeadm 配置文件
- 快速生成各类场景的 Kind 配置文件: https://github.com/liangyuanpeng/kind-kcl
- 为各类有状态应用快速生成 docker-compose 配置文件: https://github.com/liangyuanpeng/stapp
微信公众号
扫描下面的二维码关注我们的微信公众号,第一时间查看最新内容。同时也可以关注我的Github,看看我都在了解什么技术,在页面底部可以找到我的Github。