| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Blazor+Dapr+K8s微服务之服务调用 -> 正文阅读 |
|
[系统运维]Blazor+Dapr+K8s微服务之服务调用 |
1.1???????? Dapr环境配置1.1.1??????? 在开发机安装Docker Desktop并启用Kubernetes安装过程略,安装好后效果如下:(左下角两个绿色指示Docker和K8s正在运行) ? 1.1.2??????? 在开发机安装Dapr Cli安装命令:
?将会安装到如下目录: 验证安装命令:
1.1.3??????? 为开发机配置Dapr配置命令:
验证命令:
? 命令:docker ps 可以看到多了Dapr自动加了三个容器: ? 1.1.4??????? 为K8s配置Dapr配置命令:
验证命令:
?可通过命令:?
访问Dapr Dashbord 1.2???????? 创建项目1.2.1??????? 创建Blazor WebAssembly项目注意选择Asp.net Core hosted ? 1.2.2??????? 向解决方案添加Asp.net Core WebApi项目添加完如图,我增加了两个解决方案文件夹BlazorWeb和ServiceAPI以方便区分前端和后端。 ? 启动DaprTest1.Server Project运行:启动端口配置为8000 ? 1.3???????? 直接调用微服务当前解决方案中,DaprTest1.Client Blazor 项目的Fetch data 功能会调用DaprTest1.Server项目的WeatherForecastController.cs? 中的Get接口以获取天气预报信息。 我们需要修改为:在DaprTest1.Server项目的的Get接口不再直接返回天气预报信息,而是调用DaprTest1.ServiceApi1项目的WeatherForecastController中的Get 接口获取天气预报。 1.3.1??????? ?引用Refit包在项目DaprTest1.Server中安装Refit 包。 ? 1.3.2??????? 修改相关代码在项目DaprTest1.ServiceApi1中引用DaprTest1.Shared项目,并删除原来的Wheatherforcast.cs实体类。 ? 在项目DaprTest1.Server 中新增文件ICallServiceApi1.cs,并添加如下代码:
在项目DaprTest1.Server 的Startup.cs 中新增如下代码,其中http://localhost:8001?是ServiceApi1接口访问地址
修改项目DaprTest1.Server ?WeatherForecastController.cs? 中的Get接口如下:
分别启动DaprTest1.Server 和 DaprTest1.ServiceApi1项目,访问http://localhost:8000/ 可看到效果, 效果图略。 1.4???????? 通过Dapr调用微服务我们需要修改为:在DaprTest1.Server中不直接调用DaprTest1.ServiceApi1的接口地址获取天气预报信息,而是通过Dapr调用DaprTest1.ServiceApi1 的服务ID来获取天气预报信息. 1.4.1??????? 引用Dapr.Client包在项目DaprTest1.Server中安装Dapr.Client包 1.4.2??????? 修改相关代码在项目DaprTest1.Server 的Startup.cs 中修改如下代码: 本代码参考了 张善友大神的 Dapr 客户端 搭配 WebApiClientCore 玩耍服务调用 ?
1.4.3??????? 在Dapr中运行项目分别在DaprTest1.Server和DaprTest1.ServiceApi1项目中添加文件dapr-selfhosted.ps1 文件内容分别为:
PowerShell分别启动DaprTest1.Server 和 DaprTest1.ServiceApi1项目下面的dapr-selfhosted.ps1文件, 访问?http://localhost:8000/?即可看到效果 ? 1.5???????? 在K8s中运行项目1.5.1??????? 添加Docker文件生成镜像分别在DaprTest1.Server和DaprTest1.ServiceApi1项目中添加Docker文件dockerfile, 并修改文件内容如下: ?
在解决方案根目录增加文件build-docker-images.ps1 以生成Docker image,文件内容如下:
在解决方案根目录执行build-docker-images.ps1后, 可看到生成的两个镜像: ? 1.5.2??????? 部署Docker镜像到K8s在解决方案根目录新建文件夹 Deploy, 放置k8s部署文件 ? 其中deploy.ps1 为部署命令,内容如下:
部署完成后,可通过端口转发给node看到效果. ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 9:29:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |