k8s实战为aspnetcore.webapi微服务注入配置信息 - kubernetes
1、浅析k8s配置信息
- Secret()
以密文的形式存储数据,可以用来保存一些敏感信息,例如:OAuth tokens、私钥、密码、数据库连接、事件总线连接等等需要安全存储的私人数据。
- ConfigMap
以明文的形式存储数据,可以用来保存一些非敏感信息,例如:应用的配置信息。
k8s为Secret和ConfigMap提供了4种创建方式(字面量、文件、环境文件、yaml),其实归类来看就是两种创建方式,字面量和文件。
1.1 如何注入到微服务应用程序呢 ?
k8s已经为我们提供了两种方式,即通过存储卷(volume)和环境变量的方式注入到微服务应用程序。
2、实战目的
以环境变量的方式将k8s的ConfigMap里存储的应用程序配置信息注入到微服务。这也是微软微服务示例应用程序(eshopOnContainer)采用的方式。其他方式,希望大家下去自己实战。
3、编写yaml资源文件
ConfigMap资源文件,appsetting.yml如下:
上面标红的就是我们需要注入的配置信息。
hello-world-deployment-with-settings.yml如下:
4、创建k8s资源对象
通过dashboard查看集群概况,Deployment资源对象如下:
ConfigMap资源对象如下:
5、运行微服务,查看注入结果
从上面可以看到,注入成功!!!
6、附言
当我们采用微服务架构来开发我们应用程序时,如何管理这些庞大的配置信息?如何实现不停机动态注入这些信息到微服务中?如何运用k8s的配置信息和数据存储机制来解耦配置信息与微服务应用程序?请继续关注,我们将一一实战。
下一篇,我们将实战如何让微服务应用程序动态感知k8s管理的配置信息的变化。
源码参考:https://github.com/justmine66/k8s.ecoysystem.apps
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)