当前位置 博文首页 > a1010:通过Dapr实现一个简单的基于.net的微服务电商系统(十三)

    a1010:通过Dapr实现一个简单的基于.net的微服务电商系统(十三)

    作者:a1010 时间:2021-05-25 18:18

      之前所有的演示都是在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构建多运行时服务网格 && 公有云部署
    附录:(如果你觉得对你有用,请给个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正确的在模拟公有云环境正确运行了。

    bk