通过Dapr实现一个简单的基于.net的微服务电商系统(十三)——istio+dapr构建多运行时服务网格之生产环境部署
之前所有的演示都是在docker for windows上进行部署的,没有真正模拟生产环境,今天我们模拟真实环境在公有云上用linux操作如何实现istio+dapr+电商demo的部署。
目录:
一、通过Dapr实现一个简单的基于.net的微服务电商系统
二、通过Dapr实现一个简单的基于.net的微服务电商系统(二)——通讯框架讲解
三、通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr
四、通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布
五、通过Dapr实现一个简单的基于.net的微服务电商系统(五)——一步一步教你如何撸Dapr之状态管理
六、通过Dapr实现一个简单的基于.net的微服务电商系统(六)——一步一步教你如何撸Dapr之Actor服务
七、通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流
八、通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪
九、通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权 && 百度版Oauth2
十、通过Dapr实现一个简单的基于.net的微服务电商系统(十)——一步一步教你如何撸Dapr之绑定
十一、通过Dapr实现一个简单的基于.net的微服务电商系统(十一)——一步一步教你如何撸Dapr之自动扩/缩容
十二、通过Dapr实现一个简单的基于.net的微服务电商系统(十二)——istio+dapr构建多运行时服务网格
十三、通过Dapr实现一个简单的基于.net的微服务电商系统(十三)——istio+dapr构建多运行时服务网格之生产环境部署
十四、通过Dapr实现一个简单的基于.net的微服务电商系统(十四)——开发环境容器调试小技巧
十五、通过Dapr实现一个简单的基于.net的微服务电商系统(十五)——集中式接口文档实现
十六、通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护
十七、通过Dapr实现一个简单的基于.net的微服务电商系统(十七)——服务保护之动态配置与热重载
十八、通过Dapr实现一个简单的基于.net的微服务电商系统(十八)——服务保护之多级缓存
十九、通过Dapr实现一个简单的基于.net的微服务电商系统(十九)——分布式事务之Saga模式
二十、通过Dapr实现一个简单的基于.net的微服务电商系统(二十)——Saga框架实现思路分享
附录:(如果你觉得对你有用,请给个star)
一、电商Demo地址
我们选用比较常规的公有云平台阿里云作为本次演示的环境提供商。首先我们需要在阿里云申请几台ecs,由于是演示项目,我就直接选择了抢占式实例,选择3台ecs搭建1主2从的最小k8s集群(对于运行dapr+istio多主多从本质上和一主多从无太大区别)
操作系统:centos 8.3
docker环境:20.10.6
kubernetes:采用kubeadm安装,版本1.19.7 网络插件使用flannel
安装步骤可以参见我以前的博客(1.17.3和1.19.7安装没有区别,注意安装时版本号即可):阿里云搭建k8s高可用集群(1.17.3)
安装完成后我们下载dapr 和 istio的ctl,地址:https://github.com/istio/istio/tags https://github.com/dapr/cli/tags 注意需要下载 linux-amd64.tar.gz。阿里云没有梯子比较慢,可以在本地下载好之后scp到阿里云master上,然后我们用tar解压,在dapr目录直接使用
dapr init -k
即可自动安装完成dapr,接着进入istio-1.10.0/bin 执行
istioctl install --set profile=demo --set meshConfig.outboundTrafficPolicy.mode=ALLOW_ANY --set values.global.imagePullPolicy=IfNotPresent
等待一段时间后,使用kubectl get po 查看dapr和istio是否都启动了。正常应该都可以启动成功。接着我们在本地将之前build过的镜像拷贝到我们公网的私有仓储里。我这里选择了阿里云的容器镜像服务。在容器镜像服务创建对应的仓库,通过tag命令给镜像打上标签,并docker push到我们的仓储。
docker tag <IMAGE ID> xxx.aliyuncs.com/gmmyeshop/accountservice:release
接着我们将basic.yaml里apigateway以及deploy.yaml里的accountservice等几个deployment对应的image替换成公网地址。并将这两个yaml上传到master在完成上一章提到的其他istio部署细节之后,apply它们。最后我们在esc上暴露30882端口并且将任意一台公网ip地址替换本机host文件
等待所有的dapreshop下的pod启动完毕,访问admin.dapreshop.com:30882,即可看到我们的demo正确的在模拟公有云环境正确运行了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!