.NET Aspire 用于云原生应用开发,提供用于构建、测试和部署分布式应用的框架,这些应用通常利用微服务、容器、无服务器体系结构等云构造。2024年7月23日宣布的新 8.1 版本是该平台自 5 月正式发布以来的第一次重大更新,Microsoft 对 .NET Aspire 的第一个重大更新Aspire 8.1解决了容器镜像的构建和 Python 代码的编排以及一系列新功能和增强功能的问题。

Aspire 框架本身可以称为分布式框架,因为它位于 NuGet 包的集合中,可用于在 Visual Studio、Visual Studio Code 或命令行中构建应用。

Microsoft的Mitch Denny在7月23日的.NET Aspire 8.1公告中说:“这个版本包括一些新功能和生活质量改进,这些反馈来自在生产应用程序中使用.NET Aspire的开发人员的反馈。他强调了此更新的两个具体功能:支持使用 AddDockerfile(...) 构建容器镜像,以及使用 AddPythonProject(...)编排 Python 代码.

容器镜像
使用在应用程序主机运行时自动构建 Docker 文件的方法AddDockerfile(...),该方法WithDockerfile(...)还可以帮助开发人员通过允许轻松编辑和与现有资源集成来自动化 Dockerfile 构建和定制。因此,前者非常适合创建新的容器资源,而后者则用于修改现有的容器镜像。

这两种方法都支持构建参数和密钥,使开发人员能够将参数和敏感信息安全地传递给 Docker 构建过程,同时避免在应用程序清单中意外泄露。

Denny 说:“这意味着您可以快速编辑 Dockerfile,并依赖 .NET Aspire 来构建它们,而无需自己手动构建。

编排 Python 代码


Denny 强调的第二个主要特性是通过代码编排方法增强了对多语言微服务架构的支持。在 .NET Aspire 中,业务流程主要侧重于通过简化云原生应用的配置和互连的管理来增强本地开发体验。

该方法由 Willem Meints 贡献,允许开发人员启动基于 Python 的服务。要使用它,开发人员需要安装 Python 托管包并将 Python 资源添加到他们的应用程序模型中。该方法AddPythonProject(...)利用 Python 的虚拟环境 (venv) 工具,需要手动安装文件中指定的依赖项。此外,如果包含依赖项,它将在 .NET Aspire 仪表板中启用遥测。但是,由于 OpenTelemetry 库的限制,必须在环境变量设置为 的情况下运行应用程序。requirements.txtopentelemetry-distro[otlp]ASPIRE_ALLOW_UNSECURED_TRANSPORTtrue

Python 支持加入了对 Node.js 应用的现有支持。

Denny的文章还提供了有关以下内容的详细信息:

  • 容器化扩展中提供的新资源类型和组件,范围从 Kafka UI 到 Azure Web PubSub
  • 测试改进(更易于编写需要等待资源初始化的测试用例)
  • 指标示例(聚合数据的示例数据点)
  • 跨度链接(在跨度之间创建关系)
  • 改进了实例 ID 名称(友好的实例 ID 而不是难以阅读的 GUID)

有关详细信息,请参阅 Microsoft 的 .NET Aspire 中的新增功能文档。

云原生 .NET Aspire 8.1 新增对 构建容器、编排 Python的支持的更多相关文章

  1. 云原生新时代弄潮儿k8s凭什么在容器化方面独树一帜?

    云原生新时代弄潮儿k8s凭什么在容器化方面独树一帜? Kubernetes 可以为做些什么? 在学习一种新技能之前,囧囧建议不要上去先看各种牛叉的实现,我们需要先搞清楚这个技能是什么?学习了之后能为我 ...

  2. 云原生生态周报 Vol. 13 | Forrester 发布企业级容器平台报告

    业界要闻 近日,全球知名市场调研机构 Forrester 发布首个企业级公共云容器平台报告.其中,阿里云容器服务的市场表现全球前三.中国第一,同时创造中国企业最好成绩,进入强劲表现者象限.报告显示,阿 ...

  3. 巨杉数据库加入CNCF云原生应用计算基金会,共建开源技术生态

    近日,巨杉数据库正式加入全球顶级开源社区,云原生应用计算基金会 (Cloud Native Computing Foundation,以下简称CNCF),成为CNCF基金会会员,是中国最早加入的开源云 ...

  4. 云原生生态周报 Vol. 15 | K8s 安全审计报告发布

    业界要闻 CNCF 公布 Kubernetes 的安全审计报告 报告收集了社区对 Kubernetes.CoreDNS.Envoy.Prometheus 等项目的安全问题反馈,包含从一般弱点到关键漏洞 ...

  5. 云原生应用Go语言:你还在考虑的时候,别人已经应用实践

    摘要:在近日于上海召开的第六届Gopher China大会上,华为云微服务首席架构师田晓亮分享了<华为云的Go语言云原生实战经验>,讲述如何构建韧性.高可靠.安全的云原生应用系统,并孵化云 ...

  6. 2W字长文吐血整理 Docker&云原生

    Docker 和 云原生 一.概念介绍 1.1 Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Win ...

  7. AMS 新闻视频广告的云原生容器化之路

    作者 卓晓光,腾讯广告高级开发工程师,负责新闻视频广告整体后台架构设计,有十余年高性能高可用海量后台服务开发和实践经验.目前正带领团队完成云原生技术栈的全面转型. 吴文祺,腾讯广告开发工程师,负责新闻 ...

  8. vivo 云原生容器探索和落地实践

    作者:vivo 互联网容器团队- Pan Liangbiao 本文根据潘良彪老师在"2022 vivo开发者大会"现场演讲内容整理而成.公众号回复[2022 VDC]获取互联网技术 ...

  9. 《Kubernetes与云原生应用》系列之容器设计模式

    http://www.infoq.com/cn/articles/kubernetes-and-cloud-native-app-container-design-pattern <Kubern ...

  10. OpenKruise - 云原生应用自动化引擎正式开源

    2019 年 6 月 24 日至 26 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCo ...

随机推荐

  1. Dijkstra(迪杰斯特拉)算法

    Dijkstra是什么算法 Dijkstra是典型最短路径算法,用于计算一个节点到其他节点的最短路径.该算法使用的是贪心策略:每次都找出剩余顶点中与源点距离最近的一个顶点. 什么是最短路径问题  给定 ...

  2. NOIP模拟96

    T1 树上排列 解题思路 是一个一眼切的题目... 看到题目第一眼就是 Deepinc 学长讲的可重集,无序 Hash . 直接套上一颗线段树再加上树剖, \(nlog^2n\) 直接过,好像也可以树 ...

  3. Vue3组件通信方式

    Vue3组件通信方式 不管是vue2还是vue3,组件通信方式很重要,不管是项目还是面试都是经常用到的知识点. 比如:vue2组件通信方式 props:可以实现父子组件.子父组件.甚至兄弟组件通信 自 ...

  4. Atlas快速入门

    先说一些废话 之前的公司在数据中台的项目上调研决定启用了Atlas作为我们数据血缘管理的工具,让我给大家写了一份Atlas快速入门的文档,所以在这里我将这篇文档以一个纯新手视角的方式再一次优化,希望能 ...

  5. ETL工具-nifi干货系列 第十四讲 nifi处理器QueryDatabaseTableRecord查询表数据实战教程

    1.处理器QueryDatabaseTableRecord和处理器QueryDatabaseTable比较相似,该组件生成一个 SQL 查询,或者使用用户提供的语句,并执行它以获取所有在指定的最大值列 ...

  6. 开机启动VM WARE 某台虚拟机

    新建一个批处理,内容如下: set vm_root=C:\Program Files (x86)\VMware\VMware Workstation "%vm_root%\vmrun.exe ...

  7. 在线RSA公钥私钥生成工具

    在线RSA非对称加密公钥私钥生成工具,提供便捷.安全的公私钥生成服务.支持多种密钥长度选择,满足个性化需求.一键生成PEM格式证书,让您快速实现数据加密与身份验证,保障数据安全,提升网络安全防护能力. ...

  8. java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 2 path $

    java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 2 path $ pack ...

  9. MongoDB文档存储

    非关系型数据库存储 NoSQL,全称 Not Only SQL,意为不仅仅是 SQL,泛指非关系型数据库.NoSQL 是基于键值对的,而且不需要经过 SQL 层的解析,数据之间没有耦合性,性能非常高. ...

  10. 图片接口JWT鉴权实现

    图片接口JWT鉴权实现 前言 之前做了个返回图片链接的接口,然后没做授权,然后今天键盘到了,也是用JWT来做接口的权限控制. 然后JTW网上已经有很多文章来说怎么用了,这里就不做多的解释了,如果不懂的 ...