开发者社区> 问答> 正文

KubeVela 是如何使用 Terraform 拉起云资源的?

KubeVela 是如何使用 Terraform 拉起云资源的?

展开
收起
游客2k7fijmpxy3ik 2022-03-15 22:32:41 1941 0
1 条回答
写回答
取消 提交回答
  • 1)平台团队:注册云资源模板和抽象 平台团队的工作是定义一个名为"aliyun-rds"的 WorkloadDefinition 对象,并且在里面定义好 Terraform 阿里云 RDS 云资源的模板。在上述例子中我们同样是通过 CUE 来编写的 Terraform 配置, 这是因为 Terraform 云资源本身支持使用 JSON 格式描述,而 CUE 又是 JSON 的超集,所以可以自然的使用 Terraform 所有的能力。

    当然,另一方面我们也在计划支持 Terraform 的 HCL 语法来作为 KubeVela 的另一种模板语言。在 CUE 模板中我们引用了阿里云的 RDS 定义,并抽象成 user、password等少量用户字段(parameter)。

    2)用户:定义和使用云资源

    这样,用户只需要在 Appfile 中,填写一个新的 Service,命名为 sample-db 而其类型就是我们上面定义的 aliyun-rds,就可以在这个部分定义模板中提供的 user,password 等参数。

    除此之外,用户还可以在上面的 express-server 这个业务应用中定义数据绑定,填写名为 sample-db 的配置及其映射的环境变量名称。

    最后,用户只需要一句 vela up 命令,KubeVela 就会拉起业务容器,然后自动把 Terraform 创建的阿里云RDS返回的链接信息传递到业务的容器中,我们可以在最后一部分看到这个应用已经成功启动,并获得了数据库的连接信息。当然,这个流程中的数据传递和编排功能,也是 KubeVela 内置的核心能力。

    2022-03-15 22:59:04
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Terraform - 管理云资源的正确姿势 立即下载
基于Terraform的自动化管理云上资源实践 立即下载
GitOps:Kubernetes多集群环境下的高效CICD实践 立即下载

相关镜像