Kusion v0.11.0 发布——跨团队协同工作流全新升级

KusionStack团队发布了v0.11.0版本,包含60多个新功能、19处问题修复和14篇文档更新。重点升级了KusionModule扩展机制、AppConfiguration应用模型、KusionCLI核心工作流和用户体验,同时修复了Windows安装等问题。
摘要由CSDN通过智能技术生成

45dd7a70a93dce29cd98c46da4ec0e03.gif

KusionStack 团队很高兴地向大家宣布,Kusion v0.11.0 版本已经发布啦!本次总共完成了超过 60 个新功能,19 处问题修复以及 14 篇文档更新;截至目前 Kusion 已共计有 20 位贡献者 🎉 

05385ecb63661a63a3ef0ff5dae7e4ba.png

吉祥物小 K 同学带大家查收 v0.11.0 版本新特性

在这篇文章中,您将了解一些 Kusion 团队精心挑选的令人兴奋的新功能,这些新特性有望显著地影响跨团队协同工作流。

新增特性

Kusion Module

01

应用构建模块扩展机制

在上一个版本中,引入了应用程序开发者和平台工程师之间的协作范式;在 v0.11.0 新版本中,产品进一步地完善了相关的 AppConfiguration 应用模型与 Kusion Module 能力模块扩展机制。

Kusion Module 是由平台工程师设计的可重用构建模块,用于标准化应用程序部署,便于应用开发人员自服务,通常包括面向开发人员的 Module Schema 和由平台工程师实现的 Module Generator。更多关于 Kusion Module 的介绍可参考:

https://www.kusionstack.io/docs/kusion/concepts/kusion-module/overview

c63cc34f91aeb2b1616e91322a4c81bd.png

Kusion Module Overview

为了适配上图中的 Kusion Module 框架,更新了 AppConfiguration 应用模型,并开放了其中的应用配件(accessories)字段,以支持向应用程序 Workload 添加各种功能模块。并且内置了一些常用的模块,如网络(Network)、数据库(MySQL & PostgreSQL)、监控(Monitoring)以及运维规则(OpsRule)等。

下面的两个文件展示了一个使用阿里云 MySQL RDS 并对外暴露 80 端口的 WordPress 应用的配置;其中的 workspace.yaml 主要由平台工程师编写,实现对应用所需的 RDS 云服务提供商、规格和实例以及子网等配置的标准化;main.k 则主要由应用研发编写,在其中声明了使用 network 和 mysql 这两个 Kusion Module,其中 mysql 相关的敏感信息(如:连接地址、用户名、密码等)将以环境变量的形式自动注入进应用容器中;用户也可以使用自定义的 Kusion Module。

# workspace.yaml
# workspace.yaml declares the standardized MySQL configurations for Alicloud RDS
modules: 
  kusionstack/mysql@0.1.0: 
    default: 
      cloud: alicloud
      size: 20
      instanceType: mysql.n2.serverless.1c
      category: serverless_basic
      privateRouting: false
      subnetID: [your-subnet-id]
      databaseName: "wordpress-mysql"
# main.k
# main.k declares customized configurations for app stacks.
import kam.v1.app_configuration as ac
import kam.v1.workload as wl
import kam.v1.workload.container as c
import network as n
import mysql


wordpress: ac.AppConfiguration {
    workload: wl.Service {
        containers: {
            wordpress: c.Container {
                image: "wordpress:6.3"
                env: {
                    "WORDPRESS_DB_HOST": "$(KUSION_DB_HOST_WORDPRESS_MYSQL)"
                    "WORDPRESS_DB_USER": "$(KUSION_DB_USERNAME_WORDPRESS_MYSQL)"
                    "WORDPRESS_DB_PASSWORD": "$(KUSION_DB_PASSWORD_WORDPRESS_MYSQL)"
                    "WORDPRESS_DB_NAME": "mysql"
                }
                resources: {
                    "cpu": "500m"
                    "memory": "512Mi"
                }
            }
        }
        replicas: 1
    }
    accessories: {
        "network": n.Network {
            ports: [
              n.Port {
                  port: 80
              }
            ]
        }
        "mysql": mysql.MySQL {
            type: "cloud"
            version: "8.0"
        }
    }
}

Kusion Module 可以被构建为 OCI 制品实现远端存储与分发,Kusion CLI 将通过 gRPC 实现对本地 Kusion Module 的调用。

为了能使平台工程师可以更高效地进行自定义 Module 的研发,产品还同时提供了 Kusion Module 研发框架与脚手架;此外还新增了 kusion mod 命令行方便用户在本地构建跨平台的 Kusion Module 制品并发布至远端的 OCI 仓库中(Github Packages)

Kusion Module 研发脚手架可参考:

https://github.com/KusionStack/kusion-module-scaffolding

Kusion Core Workflow

02

Kusion 核心工作流

Kusion CLI 的核心工作流(init - build - preview - apply - destroy)也发生了一些重大变化:产品简化了 kusion init 命令行的使用,在其中嵌入了可供用户快速上手 Kusion CLI 的示例应用;同时,kusion build 命令行升级为了 kusion generate,用于适配使用 Kusion Module 将用户意图 (Intent) 转换为应用资源清单 (Spec) 并支持 Spec 的版本化存储;此外,kusion preview、kusion apply 和 kusion destroy 的命令行交互界面也有所优化。Kusion 核心 workflow 相关命令可参考:

https://www.kusionstack.io/docs/kusion/reference/commands/

0e0c67b21702644668a29845ba3457db.gif

kusion init cmd

4a6c47a48bfc465b82aff223f7258860.gif

kusion generate, preview, apply & destroy cmd

Kusion Workspace Management

03

工作空间管理升级

Kusion 将应用的一个最小独立运维单元抽象为了 Stack,并将其部署的环境抽象为 Workspace;在上一个版本中,应用 Stack 只能绑定至与其同名的 Workspace 上。在这个版本中,对二者进行了解耦,从而实现更加灵活的 Workspace 管理。同时,当用户没有明确指定当前 Workspace 时,Kusion CLI 将使用默认 (default) Workspace,用户可使用新增的 kusion workspace switch 命令进行当前工作空间的切换。相关详细说明可参考:

https://www.kusionstack.io/docs/kusion/concepts/workspace

5883551708061d5914c0e1ba13652672.gif

kusion workspace cmd

Kusion Storage Backend

04

存储后端管理升级

产品新增了 kusion config 命令行,方便用户拥有更灵活、强大的 Kusion CLI 存储后端管理能力;同时还实现了在 MySQL、S3 和 OSS 中对 Workspace 和 Spec 进行存储的支持,用户现在可以使用 Kusion CLI 实现应用配置数据与状态在不同 Workspace 下的存储后端配置与管理。相关详细说明可参考:

https://www.kusionstack.io/docs/kusion/concepts/backend

fe1d51004f3cea1e15c57bd799e1b3c8.gif

kusion config cmd

User Experience

05

用户体验提升

针对需要 Terraform 资源的应用,Kusion CLI 现已支持在核心 Workflow 中自动下载 Terraform CLI,无需用户手动安装。

问题修复

在 v0.11.0 版本中,主要修复了如下 bug: 

  • 修复了 Kusion CLI 在 Windows 上的安装与使用的一些问题

  • 修复了 Kusion CLI 一些过期或不准确的提示与输出

  • 修复了 Kusion CLI 的部分日志相关的问题

重大变化

在 v0.11.0 版本中,需要大家注意的重大变化包括:

  • kusion init 命令行不再支持使用应用模板初始化应用,相关机制将在后续版本中进行升级

  • kusion build 命令升级为 kusion generate

  • 应用 AppConfiguration 与 Workload 模型从 catalog 仓库中迁移至 kam 仓库,目前 catalog 仓库主要用于存放内置的 Kusion Module 示例

总结

在 v0.11.0 版本中,实现了 Kusion Module 扩展机制,并升级了 Kusion CLI 核心工作流、Workspace 管理以及存储后端配置。除了上述提到的改进之外,本次发布还包含了大量小改进与变化,您可以在 GitHub Release Note 中找到更多完整的细节:

https://github.com/KusionStack/kusion/releases

9b2366f47903a165a025428c0e5bd5af.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值