当前位置: 首页 > news >正文

Steeltoe Samples 云部署指南:Cloud Foundry 与 Kubernetes 双平台实战教程

Steeltoe Samples 云部署指南:Cloud Foundry 与 Kubernetes 双平台实战教程

【免费下载链接】SamplesSteeltoe samples and reference application collection项目地址: https://gitcode.com/gh_mirrors/samples40/Samples

Steeltoe Samples 是微软 .NET 开发者上手云原生开发的终极实战参考库,它汇集了配置中心、服务发现、数据库连接、安全认证等全套示例代码。本文将带你快速掌握如何把 Steeltoe Samples 项目同时部署到 Cloud Foundry 与 Kubernetes 两大主流云平台,从清单文件解析到一键推送命令,一步步完成你的云部署实战教程

为什么选择 Steeltoe Samples 学习云部署

Steeltoe Samples 仓库不是简单的代码堆砌,而是围绕 .NET 微服务完整生命周期精心组织的参考应用集合,每个示例都自带双平台部署配置,是新手理解"一次编写、处处部署"的最佳教材。

仓库顶层按功能划分为六大模块(见 README.md):

模块目录核心能力
ConfigurationSpring Cloud Config Server 等配置提供程序
Discovery基于 Consul、Eureka 的服务注册与发现
Management管理与监控端点、分布式追踪
Connectors连接 MySQL、Redis、RabbitMQ 等云服务
FileShares对接 Windows SMB 网络文件共享
Security认证授权与 Redis 数据保护

其中 Connectors/README.md 还贴心地给出了每个连接器在 Cloud Foundry 与 Kubernetes 上的运行说明,新手可以按图索骥。

双平台部署核心:看懂 manifest.yml 与 workload.yaml

Steeltoe Samples 的巧妙之处在于每个示例都同时提供了两套部署清单:面向 Cloud Foundry 的manifest.yml与面向 Kubernetes(Tanzu)的workload.yaml。两者表达的是同一份部署意图,只是语法不同。

Cloud Foundry 清单:manifest.yml 快速上手

以 MySql 示例的 manifest.yml 为例,核心配置只有几个字段:

  • name:应用名,Cloud Foundry 内唯一标识
  • buildpacks:指定dotnet_core_buildpack,自动完成 .NET 运行时安装
  • memory:内存配额,示例通常 256M 即可
  • services:绑定已创建的云服务实例(如sampleMySqlService
  • random-route:自动生成随机路由,避免域名冲突

配置中心的示例(manifest.yml)还通过env注入ASPNETCORE_ENVIRONMENT等环境变量,实现配置仓库按环境切换。

Kubernetes 清单:workload.yaml 解析

Kubernetes 侧使用 workload.yaml 定义 Workload 资源:

  • kind: Workload:Tanzu Application Platform 的应用抽象
  • serviceClaims:通过 ClassClaim 声明式绑定数据库服务
  • source.git:直接指定源码仓库与分支,实现源码到运行的一体化交付
  • env:注入构建与运行时的环境变量

Cloud Foundry 一键部署步骤:最快配置方法

1. 推送前的准备

使用 Cloud Foundry 部署前,需要安装 .NET SDK 与 CF CLI,并确保环境中有可用的云服务实例。克隆示例仓库:

git clone https://gitcode.com/gh_mirrors/samples40/Samples

2. 登录并推送应用

按照 ConfigurationProviders 的 README 中的步骤,先登录组织与空间:

cf target -o your-org -s your-space

然后直接基于清单推送:

cf push -f manifest.yml

Cloud Foundry 会自动识别dotnet_core_buildpack,完成编译、打包与发布全流程,无需本地构建。

3. Windows 环境特殊处理

若目标是 Windows 容器(如 manifest-windows.yml),需要先本地发布再推送二进制:

dotnet publish -r win-x64 --self-contained cf push -f manifest-windows.yml -p bin/Release/net10.0/win-x64/publish

Kubernetes 部署实战:Tanzu 工作负载创建方法

1. 准备配置服务资源

在 Kubernetes 上部署配置类示例前,先创建配置源等资源对象(目录见 application-configuration-service):

kubectl apply -f ./config/application-configuration-service

2. 从源码创建工作负载

使用 Tanzu CLI 一键创建 Workload:

tanzu app workload apply --local-path . --file ./config/workload.yaml -y

3. 从本地二进制部署

也可以先发布 linux-x64 二进制再推送,速度更快、更可控:

dotnet publish -r linux-x64 --no-self-contained tanzu app workload apply --local-path ./bin/Release/net10.0/linux-x64/publish --file ./config/workload.yaml -y

验证部署成果:用 Behave 测试守护质量

Steeltoe Samples 还贴心地提供了行为测试用例,例如 linux.feature 会用 Behave 自动验证:推送应用后访问首页,页面应出现 "Row1 Text" 等预期内容。这让你的云部署不只是"推上去就行",而是可验证、可回归的工程实践。

常见问题排查清单

现象排查思路
应用启动失败检查manifest.ymlmemory是否过小
连不上数据库确认services绑定的实例名与云服务实际名称一致
Kubernetes 拉取源码失败检查workload.yamlsource.git分支是否正确
路由冲突开启random-route: true或手动指定唯一路由

总结:从 Samples 到生产部署的完整路径

通过本文的 Steeltoe Samples 云部署指南,你已经掌握了双平台部署的核心方法论:用manifest.yml应对 Cloud Foundry 的快速交付,用workload.yaml拥抱 Kubernetes 的声明式编排。接下来只需动手实践 Configuration、Discovery、Connectors 等模块的示例,即可把这份经验迁移到自己的生产项目。云原生之路,就从部署第一个 Steeltoe 示例开始!

【免费下载链接】SamplesSteeltoe samples and reference application collection项目地址: https://gitcode.com/gh_mirrors/samples40/Samples

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4138872.html

相关文章:

  • 从零搭建DNF私服:基于Docker容器化的一键部署实战指南
  • 视频生成模型太大跑不动?LTX-2.3 10Eros v1.2 MLX-q8 让 16GB 内存 Mac 也能本地出片
  • 轻松打破语言壁垒:RPCS3模拟器中文汉化完整指南
  • 9款AI写论文哪个好?2026实测:只有它敢给你真文献+真图表
  • 10分钟给平衡车换上FOC固件:从主板解锁到参数调优的完整保姆级指南
  • 4 步搭好 PotPlayer 字幕翻译插件,外挂字幕实时双语同屏
  • rust-ctrlc 完全教程:如何用 10 行代码处理 Ctrl-C 信号
  • AI 视频放大入门指南:用 Video2X 免费把老片修成 4K 高清
  • 5 分钟快速上手 ppo-Huggy-NPU:昇腾 910B 跑通 Huggy 策略推理的极简教程
  • 不用花 30 美元订阅:Wand-Enhancer 免费解锁游戏修改器专业版功能,手机还能远程遥控
  • 爱享素材下载器完整上手指南:免费跨平台抓取视频号、抖音、快手等网络资源
  • 毕业救命神器|PaperXie一站式学术工具,从选题到答辩全程躺平✅
  • mybatis-generator-gui-extension vs 原生 MyBatis Generator:图形化界面到底解决了哪些痛点?
  • test-ttm-v1-npu推理实战教程:从模型加载到预测结果验证的完整分步流程
  • ScreenCloud插件系统原理剖析:PluginManager加载与安装机制解密
  • 4 种场景,重新认识这款免费开源字体
  • Hap QuickTime 编解码器快速上手指南:免费开源方案,让 GPU 接管视频解码
  • 机器学习在母婴健康数据分析中的应用:从监督学习到随机森林实践
  • 微信聊天记录导出完整指南:用WeChatMsg把每一段对话永久留存
  • 拼多多推广效果怎么看?2026年分析ROI的5个工具方案推荐榜
  • 微信防撤回工具 RevokeMsgPatcher 亲测:3分钟装好,撤回的消息一个都跑不掉
  • TGRS 2025 即插即用 | 特征融合篇 | HMoE:新型异构专家融合模块,特征融合+MoE泛化,性能和效率均提升!
  • 5分钟上手rembg:图片背景去除如何零代码跨平台?
  • 微信聊天记录如何永久保存?试试WeChatMsg
  • MockGPS 安装与配置完整指南:零门槛跑通 GPS 模拟
  • 网页时光机完整上手指南:3 个日常场景,轻松找回消失的网页历史
  • 【单片机课程设计/毕业设计】基于 STM32 的 RTC 时钟多功能称重报警采集系统设计 基于 STM32 单片机的人机交互称重监测终端设计与实现(013704)
  • AI Agent核心技术解析与面试实战指南
  • 3步免费升级老Mac:用OpenCore Legacy Patcher跑通最新macOS
  • 计算机单片机毕设实战-基于 STM32 的多体征实时采集与声光预警装置设计 基于 STM32 的人体健康指标监测与阈值报警系统设计(013204)