.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. 在kubernetes里使用AppArmor限制容器对资源的访问

    目录 一.系统环境 二.前言 三.AppArmor简介 四.AppArmor和SELinux的区别 五.使用AppArmor限制nginx程序访问目录 5.1 安装nginx 5.2 修改nginx的 ...

  2. 《剑指offer3- 从末尾到头打印链表》

    题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList.   本质上是逆转链表   /** * struct ListNode { * int val; * struct ListN ...

  3. 记一例UIView突然不显示的排查过程

    一.现象 今日在开发中遇到一个诡异问题,一个自定义的AlertView在显示之后瞬间在屏幕上消失,但是其对象在内存中依然存在 二.排查 通过lldb命令查询到view.superview.superv ...

  4. VMware Ubuntu虚拟机打开报错问题

    问题描述 昨天虚拟机卡死,我把VMware Workstation的进程用任务管理器杀掉了,今天重新打开虚拟机却发现以下报错 报错内容 另一个程序已锁定文件的一部分,进程无法访问 打不开磁盘" ...

  5. pandas基础--数据结构:DataFrame

    从本文开始介绍pandas的相关知识. pandas含有是数据分析工作变得更快更简单的高级数据结构和操作工具,是基于numpy构建的. 本章节的代码引入pandas约定为:import pandas ...

  6. 硬件开发笔记(十七):RK3568底板电路串口、485、usb原理图详解

    前言   原理图有一些常用电路.  本篇就将集中常用电路分析完,如uart口,涉及usart串口.rs485.usb口.   串口   串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接 ...

  7. ElasticSearch服务Java内存异常分析和排查解决

    ElasticSearch服务Java内存异常分析和排查解决 1.ElasticSearch业务微服务日志排查java.lang.IllegalStateException: Request cann ...

  8. PhantomReference 和 WeakReference 究竟有何不同

    本文基于 OpenJDK17 进行讨论,垃圾回收器为 ZGC. 提示: 为了方便大家索引,特将在上篇文章 <以 ZGC 为例,谈一谈 JVM 是如何实现 Reference 语义的> 中讨 ...

  9. 简单理解IOC控制反转和DI依赖注入

    用过.net core框架的同学都知道,框架默认支持"构造函数"注入引用对象的方式.使用.net core框架也有一段时间了,最近去了解了一下到底什么是"依赖注入&quo ...

  10. Golang线程池gpool

    背景 golang中使用并发要考虑很多问题,如控制并发量.等待Goroutine执行完毕等. 看下面一段代码: var wg sync.WaitGroup count := 10 wg.Add(cou ...