专栏首页容器化k8s实战为aspnetcore.webapi微服务注入配置信息 - kubernetes

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • RPC框架实践之:Apache_Thrift

    CodeSheep
  • 利用Zipkin追踪Mysql数据库调用链

    CodeSheep
  • SpringBoot应用Docker化

    CodeSheep
  • 微服务的异常处理

    不加班的周末,整理了一下项目上的异常处理方案,和小伙伴们共享,里面不成熟的代码或解决方式.QAQ,评论区走起

    3号攻城狮
  • 微服务调用链追踪中心搭建

    CodeSheep
  • InfoQ采访PWorld2015讲师:解读“微服务”架构

    大数据文摘
  • Service Mesh服务网格:是什么和为什么

    Service Mesh(服务网格)会是今年微服务生态的主角吗?从趋势来看,众多企业正在将这项理微服务复杂性的技术/工具,搬进他们的IT“火药库”之中。

    Rainbond开源
  • 如何从传统单体架构转向微服务

    当今,把单体架构的应用拆成微型服务是很时髦的。让我想起了2000年世纪初的那些日子,那时SOA正在流行,大多数公司,供应商和系统集成商,正忙着挥动SOA魔杖,希...

    程序你好
  • SpringBoot应用监控实战

    CodeSheep
  • 一位阿里架构师的分享——谈谈微服务架构

    微服务架构有两个关键特征,其一是原单体应用必须拆分为纵向完全独立的微服务模块,其二是微服务模块间通过轻量的Http Rest接口进行交互。对于是否进行了容器化部...

    美的让人心动

扫码关注云+社区

领取腾讯云代金券