腾讯云EKS 上部署 eshopondapr

腾讯云容器服务(Tencent Kubernetes Engine,TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务。腾讯云容器服务完全兼容原生 kubernetes API ,扩展了腾讯云的云硬盘、负载均衡等 kubernetes 插件,为容器化的应用提供高效部署、资源调度、服务发现和动态伸缩等一系列完整功能,解决用户开发、测试及运维过程的环境一致性问题,提高了大规模容器集群管理的便捷性,帮助用户降低成本,提高效率。容器服务提供免费使用,涉及的其他云产品另外单独计费。

对于中小规模的应用来说采用TKE的 弹性集群是比较经济的一个方案,弹性容器服务(Elastic Kubernetes Service,EKS)是腾讯云容器服务推出的无须用户购买节点即可部署工作负载的服务模式。弹性容器服务 EKS 完全兼容原生 Kubernetes,支持使用原生方式购买及管理资源,按照容器真实使用的资源量计费。弹性容器服务 EKS 还扩展支持腾讯云的存储及网络等产品,同时确保用户容器的安全隔离,开箱即用。

这篇文章主要向你介绍如何在EKS上面部署基于Dapr的应用程序,我们选择了Dapr 参考应用程序eshopondapr 作为示例。

几年前,Microsoft 与技术领先的社区专家合作发布了一本受欢迎的指导书,标题为适用于容器化 .NET 应用程序的 .NET 微服务。这本书深入探讨了构建分散式应用程序的原则、模式和最佳做法。其中包括一个功能齐全的微服务参考应用程序,展示了体系结构概念。名为 eShopOnContainers 的应用程序托管了一个电子商务店面,该店面销售各种商品,包括服装和咖啡杯。该应用程序在 .NET 中构建,是跨平台的,可以在 Linux 或 Windows 容器中运行。随着Dapr的发布,eShop 的一个更新版本。它就是 eShopOnDapr, 同时还配套了一本电子书:面向 .NET 开发人员的 Dapr。此更新通过集成 Dapr 构建基块来改进早期 eShopOnContainers 应用程序。下图 显示了新的解决方案体系结构:

2d6567be846b031d41146ccd9c78b077.png

虽然 eShopOnDapr 侧重于 Dapr,但体系结构也进行了简化。

  1. Blazor WebAssembly 上运行的单页应用程序将用户请求发送到 API 网关。

  2. API 网关从前端客户端抽象出后端核心微服务。它是使用 Envoy(一个高性能的开放源代码服务代理)实现的。Envoy 将传入请求路由到后端微服务。大多数请求都是简单的 CRUD 操作(例如,从目录中获取品牌列表),通过直接调用后端微服务进行处理。

  3. 其他请求在逻辑上更加复杂,需要多个微服务调用协同工作。对于这些情况,eShopOnDapr 实现了聚合器微服务,用于在完成操作所需的那些微服务之间编排工作流。

  4. 核心后端微服务实现了电子商务商店所需的功能。每个微服务都是独立存在的。按照广泛接受的域分解模式,每个微服务都隔离一个特定的业务功能:

  • 购物篮服务管理客户的购物篮体验。

  • 目录服务管理可供销售的产品项。

  • 标识服务管理身份验证和标识。

  • 订单处理服务处理下达订单和管理订单的所有方面。

  • 付款服务处理客户的付款。

每个微服务都遵循最佳做法,维护其自己的持久性存储。应用程序不共享单个数据存储。

最后,事件总线包装 Dapr 发布/订阅组件。它实现了跨微服务异步发布/订阅消息传送。开发人员可以插入任何 Dapr 支持的消息代理组件。

接下来我们参照  Run eShopOnDapr on an external Kubernetes cluster 在EKS 上部署eshopondapr 。当然您可以在任何外部 Kubernetes 集群上运行 eShopOnDapr,例如 Azure Kubernetes Service 或 腾讯云 EKS。以下步骤介绍如何将 eShopOnDapr 部署到 腾讯云EKS 集群:

1、创建一个EKS 集群,这部分可以参考腾讯云的文档 创建EKS 集群。

2、配置以连接到新集群,这部分可以参考腾讯云的文档 连接EKS 集群。

3、安装NGINX入口控制器,这部分可以参考腾讯云的文档 Nginx 类型 Ingress。这里要注意的一点是 tke官方文档,使用annotation的方式,在metadata.annotation中声明kubernetes.io/ingress.class: "nginx",来指定您所使用的nginx ingress实例。ehsopondapr的 helm 包里面声明ingress实例,是使用的spec.ingressClassName这个字段进行的,这里后面要进行调整。

4、开通EKS 集群访问外网。默认的弹性容器服务(Elastic Kubernetes Service,EKS)访问不了外网,支持通过配置 NAT 网关 和 路由表 来实现集群内服务访问外网,具体文档参见 通过 NAT 网关访问外网。如果没有开通访问外网,在EKS 中拉取不了mcr.microsoft.com/azure-sql-edge:latest。这个repo 不是 docker hub,腾讯云的TKE 默认对docker hub做了内部加速。

5、将 Dapr 部署到集群(有关详细信息,请参阅将 Dapr 安装到 Kubernetes 集群中操作方法):

6、获取集群负载均衡器的公共终端节点的 IP 地址

kubectl get services nginx-ingress-nginx-controller -n kube-system -o=jsonpath='{.status.loadBalancer.ingress[0].ip}'

7、配置 DNS  :eshopondapr.weyhd.com ,使用该别名来访问 Kubernetes 集群, 这一步可以配置你自己的域名 。

8、eShopOnDapr 包括一个 Helm 图表,以便轻松部署到 Kubernetes 集群。这里我们要修改一下 Ingress 的特性声明:

c5832f92fd107694882a1b955a045e56.png

保存后,到该文件夹deploy\k8s\helm下 运行以下命令:

helm install --set hostName=eshopondapr.weyhd.com myeshop .
过了一会儿,您应该能够在 http://eshopondapr.weyhd.com/status 访问eShopOnDapr健康UI。
当所有微服务都正常运行时,可以导航到 http://eshopondapr.weyhd.com/ 以查看 eShopOnDapr UI。

fdd609eb5aa1d0816e99503f4e9e94dc.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转]一往无前 | 小米十周年,雷军公开演讲全文

2020年8月11日19:30,小米十周年,雷军公开演讲如约而至。在近3小时的演讲中,雷军用20个故事回顾了小米过去的热血10年,也展望了新的10年: - 创新之火将会照亮每个疯狂的想法,小米将成为工程师向往的圣地。 -…

JAVA单例之我见

为什么80%的码农都做不了架构师?>>> 单例模式作为设计模式中最简单的一种,是一个被说烂了的东西。但是在项目中还是会发现关于单例模式的一些错误实现,可见单例也并不是我们想象的那么简单。最近陆陆续续看了几篇关于单例的博客&…

「刘一哥GIS」系列专栏《QGIS入门实战精品教程(配套案例数据)》

「刘一哥GIS」系列专栏《QGIS入门实战精品教程(配套案例数据)》全新上线了,欢迎广大GISer朋友关注,一起探索GIS奥秘,分享GIS价值! 本专栏以实战案例的形式,深入浅出地介绍了QGIS的基本使用方法&…

MyEclipse的Git配置

1.下载:git的插件egit 并解压 插件 下载地址:http://www.eclipse.org/egit/download/ 所有版本:http://wiki.eclipse.org/EGit/FAQ#Where_can_I_find_older_releases_of_EGit.3F 2.在MyEclipse安装目录下的dropins文件夹下创建egit文件夹 3.…

VSCode 插件开发实例(WebView):微信读书 ^-^边撸代码边看小说^-^

最终效果 主要代码 package.json {"name": "WeReadForVSCodeJackieZheng","repository": {"type": "git","url": "https://github.com/JackieZheng/WeReadForVSCode.git"},"displayName": &q…

【QGIS入门实战精品教程】4.7:QGIS如何将矢量数据转为GeoJSON格式?

本文以案例的形式,讲述在QGIS专业软件中,将矢量数据转为GeoJSON的方法。 扩展阅读: 【ArcGIS风暴】如何将矢量数据(点、线、面)折点坐标转为GeoJSON格式? 在QGIS中,可以直接将数据导出为GeoJSON格式。具体操作方法是:右键矢量数据图层→导出图层→到文件,如下图所示:…

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库——Windows下Git的环境部署以及在Git…

【QGIS入门实战精品教程】3.3:QGIS如何打开ArcGIS创建的文件数据库(GDB)?

在行业应用中,GIS地理空间数据往往存储在ESRI ArcGIS的文件地理数据库(File GeodataBase),因此,ArcGIS与QGIS的数据交互、共享就显得非常重要。QGIS3可以直接打开File GDB数据,并对数据进行显示、查看、处理等操作。具体的步骤如下: 相关阅读:【QGIS入门实战精品教程】3…

.NET 6 Linux 系统服务 Systemd (案例版)

.Net Core Windows 系统服务,之前已经写过了,但是,对于Linux的系统服务,却没有写过,主要是因为,大部分Linux的.Net服务都直接Docker了,当然,不排除有这种使用的,可能搞成…

[转]IaaS、PaaS、SaaS、CaaS、MaaS五者的区别

云计算构架图 很明显,这五者之间主要的区别在于第一个单词,而aaS都是as-a-service(即服务)的意思,这五个模式都是近年来兴起的,且这五者都是云计算的落地产品,所以我们先来了解一下云…

聊聊 C++ 中的四种类型转换符

一:背景 在玩 C 的时候,经常会用 void* 来指向一段内存地址开端,然后再将其强转成尺度更小的 char* 或 int* 来丈量一段内存,参考如下代码:int main() {void* ptr malloc(sizeof(int) * 10);int* int_ptr (int*)ptr;…

【QGIS入门实战精品教程】3.1:QGIS如何连接SQL Server数据库?

文章目录 软件必备测试SQL Server服务是否启动QGIS与SQL Server建立连接软件必备 SQL Server 2008 R2QGIS 3.22.3测试SQL Server服务是否启动 打开SQL Server配置管理器,查看MSSQLSERVER服务的启动情况。

开源重量级的流程引擎或UI引擎

关注这两个方面的同学个踊跃加粉了~~同时在下面回复期望开源哪一个&#xff0c;将先开源呼声高的一个。 好吧&#xff0c;先小秀一下UI&#xff1a; 增加下面的pom依赖&#xff0c;表示此工程需要org.tinygroup.aerowindow ?12345<dependency> <groupId>org.tinyg…

阿里云网盘内测开启 填写申请表获取邀请码 附最新申请地址

日前有相关报道显示&#xff0c;阿里方面推出了一款名为“阿里云网盘”的独立App&#xff0c;并且其是由阿里云团队开发&#xff0c;定位则是为C端用户提供可靠安全的存储备份及智能相册等功能。据了解&#xff0c;目前这款APP尚未正式上线&#xff0c;暂时还在邀请制测试阶段。…

跟我做⼀个⾼德地图的 iOS / Android MAUI控件(Android 原⽣库绑定)

我们已经介绍了如何通过 .NET 绑定 iOS 原⽣库 &#xff0c;本篇开始介绍⼀下如何通过 .NET 绑定 Android 原⽣库。Android的库Android 的库以 .jar 做打包&#xff0c; 通过⼯具你可以将多个 .jar 完成绑定&#xff0c;然后通过 C# 调⽤原⽣的 Java 库。对⽐起 iOS &#xff0…

【QGIS入门实战精品教程】4.6:QGIS实现栅格(影像、DEM)的拼接与掩膜提取

参考阅读:ArcGIS实验教程——实验十一:影像拼接与提取 加载实验数据 本实验所采用的栅格数据为两个dem数据和一个矢量范围数据,加载如下图所示: 栅格数据信息如下: 栅格拼接 点击下拉菜单【栅格】→【杂项】→【合并(merge)】,如下所示:

ReSharper 2020.2 补丁

ReSharper 是一个JetBrains公司出品的著名的代码生成工具。其能帮助Microsoft Visual Studio成为一个更佳的IDE&#xff0c;它包括一系列丰富的能大大增加C#和Visual Basic .net开发者生产力的特征。使用ReSharper&#xff0c;你可以进行深度代码分析&#xff0c;智能代码协助…

零中频接收机主要问题

直流偏差和本振泄漏问题基本不会影响超外差式接收机的性能&#xff0c;问题主要是镜频抑制。需要高Q值的带通滤波器。 零中频不存在镜频干扰&#xff0c;可以省掉镜像抑制滤波器和中频滤波器。零中频的主要问题是&#xff1a;1直流偏差 2本振泄漏 3 闪烁噪声。 1 本振泄漏 本振…

【QGIS入门实战精品教程】9.1:QGIS构建泰森多边形(Thiessen Polygon)实例精解

泰森多边形是进行快速插值和分析地理实体影响区域的常用工具。例如,用离散点的性质描述多边形区域的性质,用离散点的数据计算泰森多边形区域的数据。泰森多边形可用于定性分析、统计分析和临近分析等。 参考教程: ArcGIS构建泰森多边形(Thiessen Polygon)实例精解 【Glob…

“Visual Studio 启动不能打开上次打开的文件” 最正确的解决姿势

网上很多提供的方法&#xff0c;不是删除.vs目录&#xff0c;就是修改.suo文件。 删除有风险&#xff0c;操作需谨慎&#xff01;&#xff01; 其实最简单的方法就是&#xff1a;工具——选项——项目和解决方案——☑加载解决方案时重新打开文档(D)