您现在的位置是:首页 > 文章详情

Crossplane 2.0 发布

日期:2025-08-19点击:1

Crossplane 2.0 现已发布,一些新变化包括:

  • 应用支持 —— 不再只管理基础设施,也能和云资源一起管理应用
  • 更丰富的组合能力 —— 组合资源现在可以包含任何 Kubernetes 资源,不仅限于 Crossplane 定义的资源,支持全栈抽象
  • 默认命名空间隔离 —— 复合资源(XRs)和托管资源(MRs)默认都有命名空间,隔离更好,更符合 Kubernetes 习惯
  • 声明式的运维操作 —— 新增 Operation 类型,支持一次性、定时和事件驱动的升级、备份、维护等操作
  • 托管资源过滤 —— 只安装你需要的托管资源,不必一次性全部加载某个 Provider 的所有资源

Crossplane 2.0 的一些核心变化包括:

应用成为一等公民

2.0 最大变化是组合资源现在能包含任何 Kubernetes 资源,不只限于 Crossplane 管理的基础设施。这意味着你可以定义一个复合资源,一次性完成数据库、网络、应用部署、监控等全部配置。

举例,平台团队可以给开发团队提供一个简单的 “microservice” API,自动完成新服务所有所需:

 apiVersion: platform.acme.io/v1 kind:Microservice metadata: namespace:team-api name:user-service spec: image:acme/user-service:v1.2.3 database:     engine:postgres     size:medium ingress:     subdomain:users 

背后自动创建 RDS 实例,配置安全组,部署应用(Deployment)、创建 Service 和 Ingress,甚至设置监控面板。平台团队处理复杂,开发团队获得精准服务。

默认启用命名空间隔离

不再默认集群级别资源,这常让新用户困惑。2.0 版本中,复合资源和托管资源都默认在命名空间内,符合 Kubernetes 规范,多租户更直观。

旧的 claim 和 XR 二元结构取消。你只需在对应命名空间创建资源:

 apiVersion: example.crossplane.io/v1 kind:Database metadata: namespace:frontend-team name:user-db spec: engine:postgres storage:100Gi 

需要集群范围资源(如共享网络)时依然可以创建,但必须显式指定,不再默认。

声明式的运维操作

新增了 Operation 类型。多年来,团队在备份、升级、维护等操作上常依赖自定义控制器或外部定时任务。现在,这些都能用 Crossplane 的声明式方式实现:

 apiVersion: ops.crossplane.io/v1alpha1 kind:CronOperation metadata: name:weekly-db-maintenance spec: schedule:"0 2 * * 0"# Sundays at 2 AM operationTemplate:     spec:       pipeline:       -step:upgrade         functionRef:           name:function-database-upgrade         input:           apiVersion:fn.crossplane.io/v1beta1           kind:UpgradeInput           maxDowntime:5m 

还推出了 WatchOperation,用于事件驱动自动化。

只安装所需资源

之前安装 AWS Provider 会加载 100+ 个 CRD,API 服务器压力大。虽然早就意识到问题,但解决方案复杂。

2.0 引入了 ManagedResourceDefinitions(MRDs)和激活策略,优雅解决这个难题:

 apiVersion: apiextensions.crossplane.io/v1alpha1 kind:ManagedResourceActivationPolicy metadata: name:aws-essentials spec: activate: -instances.rds.m.aws.crossplane.io -buckets.s3.m.aws.crossplane.io -"*.ec2.m.aws.crossplane.io" 

这样不仅减轻 API 服务器负担,还让团队清楚平台支持哪些云资源。

“构建 Crossplane 2.0 过程很艰难。我们弃用了当初看似重要、但实际增加复杂度的功能。基于社区反馈重构核心 API。最重要的是,让 Crossplane 更像原生 Kubernetes,因为平台团队一直这么告诉我们。

工程量巨大。重构核心控制器,重新设计组合引擎支持任意 Kubernetes 资源,打造全新操作和 Provider 管理系统。但这次发布更像是理念的转变:Crossplane 不只是管理基础设施,而是赋能平台团队构建完整的开发者体验。”

2.0 版本对大多数 v1.x 配置保持兼容。你已有的组合、Provider、复合资源继续有效。新项目建议直接用 v2 模式。现有项目可以逐步迁移,没必要着急。v1 API 还会持续支持,直到社区不再需要。

公告称,Crossplane 2.0 只是开始。开发团队正着手增强可观察性、改进组合调试工具,强化与云原生生态的集成。

原文链接:https://www.oschina.net/news/367080/crossplane-2-0-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章