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

为 Kubernetes 领域模型抽象应用层模型 - 使用 KCL 配置语言 & Konfig 配置库 Kusion 配置语言( KCL )是一个开源的基于约束的记录及函数语言。KCL 通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更快的自动化集成和良好的生态延展性。在 KCL 中, 推荐通过配置库的方式统一管理所有的配置清单和模型库,即不仅存放抽象模型本身的 KCL 定义,还存放各种类型的配置清单,比如应用的运维配置、策略配置等。 阅读详情

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

解锁 STP 与 SOLIDWORKS 转换密码:工具及迪威在线转换秘籍 STP 文件能够完整地记录 3D 模型的几何形状、尺寸、公差、材料属性等丰富信息,无论是简单的机械零件,还是复杂的装配体,都能精准呈现。而在线转换以迪威模型为例,凭借便捷性、高效性和安全性,为广大 3D 专业技术人员和学生党在无需安装额外软件的情况下,轻松实现格式转换提供了有力支持。在实际工作和学习中,可根据自身具体情况灵活选择合适的转换方式,以确保 3D 设计工作流程的顺畅进行,让创意在不同格式间自由流动并绽放光彩。在 3D 设计与建模的广袤世界里,不同格式文件间的转换常常是连接创意与实现的关键桥梁。 阅读详情

相关推荐

伺服驱动器启用后对传感器线信号干扰的解决方案

在一些Arduino项目中,研究者发现,当伺服电机启动时,传感器信号会出现显著噪声。例如,在一个假肢项目中,研究者使用光电隔离器成功隔离了伺服驱动器对EMG传感器的干扰。然而,当启用伺服驱动器时,传感器线信号常常受到干扰,导致系统性能下降。传感器线信号是传感器输出的电信号,用于测量物理量,如温度、光线或位置。例如,在一些案例中,伺服驱动器的开关操作可能导致传感器信号出现尖峰或波动,特别是在模拟传感器上更为明显。描述: 使用光电隔离或其他隔离技术,分离伺服驱动器和传感器的电气路径,防止直接干扰。

有用好玩有趣的“电”知识 1466

KusionStack 是什么?

KusionStack 是蚂蚁开源的云原生可编程技术栈!一、KusionStack 的目标愿景KusionStack 是一个可编程、高灵活性的应用交付及运维技术栈,灵感源于融合(Fusion)一词,旨在帮助企业构建的应用运维配置管理平面及 DevOps 生态。融合专有云,混合云,多云混合场景融合以云原生技术为主,同时采用多种平台技术的混合平台技术选型融合多项目、多团队、多角色、多租户、多环境的企业...

光谷码农 949

不用写触发器!帆软填报报表自动记录创建/修改时间的终极方案

本文详细介绍了帆软填报报表中无需编写数据库触发器,即可自动记录数据创建时间和修改时间的终极方案。该方案利用帆软内置函数和单元格条件属性,在应用层实现日期自动生成,有效规避了触发器带来的权限、维护和部署难题,为数据填报提供了更轻量、灵活且易于维护的解决方案。

weixin_28040125的博客 360

KusionStack使用文档

如果想自定义默认安装版本,可以运行下述命令(将最后的 open@latest 替换为你想要默认安装的版本号就就行): 该脚本执行后会创建 $HOME/.kusionup 目录,该目录下会包含:执行完安装脚本后,默认已经安装好了 kusionup 和一个默认的 kusion 版本,你可以通过执行 kusionup 查看已安装的所有版本: 执行 kusionup ls-ver 列出来自内置安装源中的所有可安装的 **kusion** 版本: 执行 kusionup install $VERSION

王大雏的博客 417

Simscape Multiboby学习笔记1——跟着官网学Multibody

文章目录一. 引言二. Simscape Multibody自学之路三. 本教程的目录 一. 引言 最近在倒腾Matlab的动力学仿真,起因是看到有人推荐Matlab的multbody模块,一经了解之下简直惊为天人。作为一名Matlab的小粉,看到这么好用的模块简直不要太开心,之前用simulink搭飞行器的仿真模型,虽然能够仿真看到六自由度位移,毕竟不能可视化,还是很不够直观,而且simulink仿真(以及更费力的脚本文件仿真)需要精确建模,模型不精确计算也是天差地别。而Multibody在具备其他动力学

qq_30267617的博客 8241

AutoCAD2014与ObjectARX开发环境搭建实战指南

本文提供了一份详细的AutoCAD2014与ObjectARX开发环境搭建实战指南。内容涵盖从AutoCAD2014、Visual Studio 2010及ObjectARX 2014 SDK的版本匹配与环境准备,到Wizard安装、编码问题解决、Visual Studio配置,并最终通过一个完整的绘图命令开发示例,手把手引导开发者创建并加载第一个可运行的ObjectARX插件,为后续深入开发奠定坚实基础。

weixin_28475533的博客 288

KusionStack 开源有感|历时两年,打破 “隔行如隔山” 困境

本文撰写于 KusionStack 开源前夕,作者有感而发,回顾了团队从 Kusion 项目开发之初到现今成功走上开源之路的艰辛历程。当中既描述了作者及其团队做 Kusion 项目的初心和项目发展至今的成果,也表达了作者自身对团队的由衷感激,字里行间都散发着真情实感。...

金融级分布式架构 462

思科—OSPF多区域配置实验

实验目的:配置OSPF多区域,使得不同网段的PC互相ping通。 网络拓扑如下: R0的配置 Router>en Router#conf t Router(config)#int g0/1 Router(config-if)#ip add 192.168.1.1 255.255.255.0 Router(config-if)#no shut Router(config-if)#exit Router(config)#int g0/0 Router(config-if)#ip add 192.168.

m0_46237205的博客 1万+

KusionStack 开源|Kusion 模型库和工具链的探索实践

文|杨英明(花名:向野)KusionStack 核心贡献者蚂蚁集团高级研发工程师在基础设施技术领域深耕,专注IaC/XaC、GitOps 等方向本文4912字 阅读 12分钟前言KusionStackKusionStack 最早是为了解决蚂蚁内部复杂的运维场景而诞生的解决方案。思路是通过自研的 DSL(KCL)沉淀运维模型(Kusion Model),将基础设施部...

光谷码农 675

Coze实战:解锁多Bot协同与条件分支工作流的奥秘

本文详细介绍了在字节跳动Coze平台实现多Bot协同与条件分支工作流的方法。首先阐述了Coze平台的功能优势,包括丰富的插件、知识库和工作流功能。随后分步骤讲解了多Bot协同的实现:从准备工作、创建Bot到协同配置,并提供了电商客服的实例演示。在条件分支工作流部分,详细说明了条件节点的作用类型、条件设定方法以及具体配置操作,强调测试优化的重要性。最后通过电商平台综合案例,展示了多Bot协同与条件分支的实际应用效果,并针对常见问题提供解决方案。文章为开发者在Coze平台上构建智能应用提供了实用指导,有助于提升

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 450

成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题

成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题 目录 解决问题 解决思路 解决方法 T1、修改默认配置 T2、修改后缀参数(此方法是其他网友推荐,博主没有尝试) T3、如果以上还不成功,这个时候很可能是环境配置有问题 解决问题 使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题 解决思路 使用jupyter notebook命令打开原先存的.ipynb文件突然消失,说明...

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 5116

KusionStack 加入 CNCF Sandbox!

我们很高兴地宣布,KusionStack 项目在 2024 年第四季度通过了全球顶级开源基金会云原生计算基金会(CNCF)技术监督委员会(TOC)的评定,正式成为 CNCF 沙箱(Sandbox)项目。我们衷心地感谢所有参与整个过程的 CNCF 成员,感谢他们的宝贵指导,同时也感谢社区和团队的热情支持,让这一切成为可能。项目地址:https://github.com/KusionStack项目官网...

金融级分布式架构 280

【LaTex】3.4 立体几何

本文介绍了使用LaTeX的tikz包绘制立体几何图形的两种方法。首先展示了基础立方体的绘制代码,通过定义8个顶点坐标并连接各边完成绘制。接着讲解了scope功能在3D绘图中的应用,包括标准平面(xy、xz、yz)的绘制方法,以及任意平面的定义技巧。重点说明了如何通过定义平面原点、x和y方向单位向量来创建旋转后的绘图平面,并以45°旋转的yz平面为例演示了圆的绘制。文章提供了完整的代码示例和对应的效果图示,展示了tikz在3D绘图中的灵活性和强大功能。

你的指尖有改变世界的力量 2456

Rust源码剖析:Lint - CombinedLintPass

摘要:前一篇文章 介绍了关于 Lint 和 LintPass 的一些概念和实现。基于这些结构,提供了一个简易的 Lint 检查的实现方式。本文主要介绍 CombinedLintPass 这一结构的实现,并基于 CombinedLintPass 进一步优化 Lint 的实现。背景在 KusionStack 技术栈中, KCL 配置策略语言是重要的组成部分之一。为了帮助用户更好的编写 KCL 代码,我...

光谷码农 1237

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Kusion v0.13.0 发布啦,更丰富的命令行功能,还添加了对 AI 应用的支持!

Kusion v0.13.0 版本已发布!本次总共更新了超过14个新功能,9处问题修复以及13篇文档更新,截至目前 Kusion 已共计有28位贡献者 ????吉祥物小 K 同学带大家查收 v0.13.0 版本新特性团队一如既往地对不断壮大的 KusionStack 社区的宝贵贡献表示感谢,正是这些来自社区的贡献与反馈帮助我们达到了v0.13.0这一重要的里程碑。在这篇文章中,您将了...

金融级分布式架构 312

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

深入解读 `@expo/json-file`:Expo 工具链中读写与操纵 JSON 文件的基础库

`@expo/json-file` 是 Expo 开源仓库中一个面向 JSON 文件的高效封装库,提供类型安全的读、写、查询、合并与删除等操作。本文将以其 [README](https://link.gitcode.com/i/f977f368d3ee86fc1ae483a0952048db) 为核心骨架,结合 [核心实现](https://link.gitcode.com/i/697c9521a

gitblog_00350的博客 452

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

探索MessengerKit架构设计:iOS聊天框架的最佳实践

MessengerKit是一款专为iOS平台打造的UI框架,旨在帮助开发者快速构建功能丰富、界面精美的聊天应用。作为一款专注于即时通讯界面的开发工具,它提供了灵活的架构设计和丰富的自定义选项,让开发者能够轻松实现类似iMessage的交互体验。 ## 为什么选择MessengerKit? 在移动应用开发中,聊天功能往往是最复杂的模块之一。从消息气泡的展示到键盘交互,从媒体文件的处理到实时状态的

gitblog_00079的博客 419

PCV库扩展开发指南:为你的计算机视觉项目贡献新功能

PCV(Open source Python module for computer vision)是一个功能强大的计算机视觉开源Python模块,它提供了丰富的工具和算法,帮助开发者快速构建计算机视觉应用。本指南将带你了解如何为PCV库扩展新功能,从环境搭建到代码实现,一步步成为PCV贡献者。 ## 一、开发环境准备 ### 1.1 克隆PCV仓库 首先,你需要将PCV仓库克隆到本地。打开终

gitblog_01084的博客 523

精彩回顾|KusionStack 开源啦~

????KusionStack Open Day 圆满结束????感谢大家抽空参加我们一起来回顾下????本次活动的精彩瞬间吧~????蚂蚁集团高级技术专家、Kusion 项目发起人及负责人——朵晓东作为整场活动的主持人,带领大家一起回顾了 Kusion 项目演进历程,并宣布了 KusionStack 正式开源的好消息!活动开场,Kusion 项目的两位 Sponsor——蚂蚁集团可信原生技术部...

光谷码农 630

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

我们很高兴地向大家宣布,Kusion v0.12.1 版本已经正式发布啦!我们本次总共更新了超过18个新功能,8处问题修复以及5篇文档更新,截止目前 Kusion 社区已共计有来自海内外25位贡献者 ????吉祥物小 K 同学带大家查收 Kusion v0.12.1 版本新特性我们一如既往地对不断壮大的 KusionStack 社区的宝贵贡献表示感谢,在这篇文章中,您将了解一些我们精心挑选...

金融级分布式架构 239

Todo-Tree完全指南:如何用ripgrep快速定位项目中的TODO标签

Todo-Tree是一款强大的VS Code扩展,它利用ripgrep快速搜索工作区中的TODO、FIXME等注释标签,并在活动栏中以树状视图展示结果。通过直观的可视化界面,开发者可以轻松追踪代码中的待办事项,提升项目管理效率。 ## 🌟 为什么选择Todo-Tree? 在大型项目开发中,分散在代码中的TODO标签常常被遗忘。Todo-Tree通过以下核心优势解决这一痛点: - **极速搜

gitblog_00446的博客 387

埋头苦干,曙光初现 —— KusionStack & KCL 的 2023 年终总结来啦!

HAPPY NEW YEAR元旦将至Dec.2023.12KusionStack 与 KCL 团队预祝大家新年快乐!新项目在过去的一年中,KusionStack 大家庭里又多了两个新项目,分别是Operating与Controller Mesh:KusionStack Operating 致力于提供满足 K8s 标准的云原生运维、链路可观测、资源可洞察等能力,支持对 Pod 进行增量配置和...

金融级分布式架构 314

Go 代码城市上云——KusionStack 实践

导语KusionStackKusionStack 是面向 Kubernetes 云原生场景的 IaC 配置代码化实践的开源一站式可编程协议栈。其基本思想是让「应用方+平台方」的同学能够共同基于 IaC 构建的 Konfig 模型库同一平面进行 DevOps 协同工作。今天我们和大家分享一个好玩的 Go 代码城市应用,以及 KusionStack 是如何一键将其部署到 K8s 云原生环境的。Kusi...

金融级分布式架构 320

Kusion v0.11.1 发布——命令行功能增强,支持更丰富的应用配置能力

很高兴向大家宣布,Kusion v0.11.1 版本发布啦!本次总共更新了超过 23 个新功能、8 处问题修复以及 18 篇文档,截至目前 Kusion 已共计有 21 位贡献者 ????吉祥物小 K 同学带大家查收 v0.11.1 版本新特性Kusion 团队一如既往地对 KusionStack 社区的宝贵贡献者表示感谢。在这篇文章中,您将了解Kusion 团队精心挑选的令人兴奋的新功能。新增特性...

金融级分布式架构 224

Paper Minecraft服务器技术解析与高性能配置实践指南

Paper是目前最广泛使用的高性能Minecraft服务器实现,专注于修复原版服务器的游戏机制不一致性并提供显著的性能优化。作为基于Spigot和CraftBukkit的增强版本,Paper通过数百个优化补丁和技术改进,为大型多人在线服务器提供了稳定可靠的运行环境。 ## 性能瓶颈分析与Paper优化架构 ### 原版Minecraft服务器的性能挑战 传统Minecraft服务器在处理大规

gitblog_00336的博客 831

告别PPT地狱!用Dify工作流引擎5分钟生成专业演示文稿

还在为每周数小时的PPT制作而烦恼吗?Dify作为一款强大的AI应用开发平台,其可视化工作流引擎能让你彻底摆脱繁琐的PPT制作流程。无论你是职场新人还是资深专家,只需简单几步,就能将文档自动转化为精美的演示文稿! ## 为什么你的PPT制作总是让人头疼? 想象一下这样的场景:周一早上,老板突然要求下午2点前提交一份市场分析报告PPT。你手头有十几份PDF报告、Excel表格和会议记录,但要在6

gitblog_00471的博客 689
上一篇: 容器安全的贴身保镖:容器运行时(下)
下一篇: 活动报名|SOFA 六周年,Hello SOFA World
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值