Kusion v0.12.1 发布——完善产品功能,优化用户体验

117 天前
 windcode

我们很高兴地向大家宣布,Kusion v0.12.1 版本已经正式发布啦!我们本次总共更新了超过 18 个新功能,8 处问题修复以及 5 篇文档更新,截止目前 Kusion 社区已共计有来自海内外 25 位贡献者 🎉

我们一如既往地对不断壮大的 KusionStack 社区的宝贵贡献表示感谢,在这篇文章中,您将了解一些我们精心挑选的令人兴奋的新功能。

新增特性

优化存储后端管理

在 v0.12.1 版本中,我们为 Kusion 添加了对 AWS S3 路径样式( path-style ) endpoint 的支持,并且提供了 kusion release unlock 命令用于解锁处于异常状态的 Release 文件。

优化敏感信息展示

在过去的版本中,kusion preview 命令展示 Kubernetes Secret 资源时会将 data 和 stringData 的明文数据直接透出,这将带来敏感信息泄漏的风险。在这个版本中,我们优化了敏感信息的预览效果,Kubernetes Secret 资源的 data 和 stringData 将不会明文展示( Secret 数据在更新时仍可以计算出发生了变化)。

优化 Terraform 资源管理

在 v0.12.1 版本中,Kusion 提供了对存量 Terraform 云资源的导入能力,用户可以在 Workspace 的 Module 配置中填充 importedResources 字段,在其中声明 Spec 文件中 Kusion 资源 ID 到待导入云资源实例 ID 的映射,Kusion 在进行预览和生效时会先将指定的 Kusion 资源状态同步为待导入资源实例的状态。需要注意的是,对于导入的资源,Kusion 在进行 destroy 时会跳过对其的删除(因为可能存在多个应用共享该资源的情况)。此外,在这个版本中,Kusion 还支持并发操作独立的 Terraform 资源,从而可以提高运维执行效率。 一份示例配置可参考:

modules: 
    mysql: 
      path: oci://ghcr.io/kusionstack/mysql
      version: 0.2.0
      configs:
          default: 
            cloud: alicloud
            size: 20
            instanceType: mysql.n2.serverless.1c
            category: serverless_basic
            privateRouting: false
            subnetID: vsw-2zem*********
            databaseName: "wordpress-mysql"
            # Import an existing alicloud_db_instance. 
            importedResources: 
              "aliyun:alicloud:alicloud_db_instance:wordpress-mysql": "rm-2zem********"
    network:
        path: oci://ghcr.io/kusionstack/network
        version: 0.2.0
        configs:
            default: {}

支持 Workspace Runtime 配置

在 v0.12.1 版本中,用户可以在 Workspace 中声明 Kubernetes 集群证书和 Terraform Provider 账密等 Runtime 配置,用户可以在 Workspace 的 Context 字段中声明下面的配置项:

一份示例配置可参考:

modules: 
    mysql: 
      path: oci://ghcr.io/kusionstack/mysql
      version: 0.2.0
      configs:
          default: 
            cloud: alicloud
            size: 20
            instanceType: mysql.n2.serverless.1c
            category: serverless_basic
            privateRouting: false
            subnetID: vsw-2zem*********
            databaseName: "wordpress-mysql"
    network:
        path: oci://ghcr.io/kusionstack/network
        version: 0.2.0
        configs:
            default: {}
# The remote secrets manager for sensitive data storage. 
secretStore:
  provider:
    aws:
      region: us-east-1
# Runtime configs. 
context: 
  # Kusion will retrieve the encrypted kubeconfig with the secretStore provider declared above. 
  KUBECONFIG_CONTENT: ref://secret-store/kubeconfig
  ALICLOUD_ACCESS_KEY: LTAI5*********
  ALICLOUD_SECRET_KEY: LNOmf*********

支持使用 Spec 预览和生效

在 v0.12.1 版本中,Kusion 支持将 Spec 文件作为 kusion preview 和 kusion apply 的输入。用户可以在 Stack 目录中放置一份 Spec 文件,并通过 --spec-file 指定,Kusion 引擎可以直接消费该 Spec 文件,并将 apply 结果更新到 Stack 对应的 Release 文件中。

完成 Workload Module 化

在此前的 v0.12.0 版本中,我们已将 Service 和 Job 这两个 Workload 的 Schema 定义从 Kusion 代码中拆分解耦出去;在这个版本中,我们已完全实现了 Workload 的 Module 化,Service 和 Job Module 的 Schema 定义和 Module Generator 的具体实现都已移至 catalog (https://github.com/KusionStack/catalog) 仓库中。用户还可以参考 Service 和 Job ,根据自己的需要实现定制的 Workload Module 。 一份示例配置可参考:

[package]

[dependencies]
kam = { git = "https://github.com/KusionStack/kam.git", tag = "0.2.0" }
service = { oci = "oci://ghcr.io/kusionstack/service", tag = "0.2.0" }
import kam.v1.app_configuration as ac
import service
import service.container as c

quickstart: ac.AppConfiguration {
	workload: service.Service {
		containers: {
			quickstart: c.Container {
				image: "kusionstack/kusion-quickstart:latest"
			}
		}
	}
}

需要注意的是:v0.12.1 版本的 Kusion 与此前用户本地缓存的 0.1.0 版本的 Service 和 Job Module 不兼容,您需要使用 0.2.0 版本的 Service 和 Job Module ,或者可将本地缓存的 $HOME/.kcl/kpm/service_0.1.0 和 $HOME/.kcl/kpm/job_0.1.0 目录删除。

问题修复

社区动态

KusionStack 社区新增了两位 Contributor !感谢 @hoangndst 和 @vietanhtwdk 两位来自越南的同学对 Kusion 的贡献 🎉

总结

在 v0.12.1 版本中,我们优化了存储后端管理、敏感信息展示和对 Terraform 资源的管理,同时支持了在 Workspace 中声明 Runtime 配置,以及使用 Spec 文件进行预览和生效,并且完成了对 Workload 的 Module 化拆分。除了上述提到的改进之外,本次发布还包含了大量小改进与变化,您可以在 GitHub Release Note 中找到更多完整的细节:https://github.com/KusionStack/kusion/releases

欢迎来玩~ 欢迎 star ⭐️

1750 次点击
所在节点    分享创造
1 条回复
adohe
117 天前
👏👏👏👏👏👏

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1062062

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX