部署Chart应用并使用.net core读取Kubernetes中的configMap

上一篇文章讲了 k8s使用helm打包chart并上传到腾讯云TencentHub,今天就讲一下使用Helm部署应用并使用configMap代替asp.net core 中的appsettings.json文件。

把Chart上传到TencentHub之后,我们就可以通过腾讯云的容器服务,直接部署Helm应用了。

部署Helm应用

部署Chart应用并使用.net core读取Kubernetes中的configMap

点击新建然后选择TencentHub,私有仓库,就可以看到自己上传的Chart了。填写一下应用名称,拉到最下方点击完成即可创建应用。

部署Chart应用并使用.net core读取Kubernetes中的configMap

 注意:如果你的yaml文件写的不对,如少个空格,变量参数名称写错或者不存在,都无法创建成功。

 可以点击新建下方那个查看详情,可以看到Helm应用安装日志,安装失败会提示错误信息,自己跟据错误提示修复自己的错误。

部署Chart应用并使用.net core读取Kubernetes中的configMap

成功安装后点击应用可以查看资源信息和状态

部署Chart应用并使用.net core读取Kubernetes中的configMap

注意:Chart部署成功不代表你的服务已经成功启动了,如果你的服务本身是有问题起不来的话,这里不会有提示,需要自己去查看Pod是否已经正常启动成功。

部署Chart应用并使用.net core读取Kubernetes中的configMap

好了,应用部署完成后,我们来试试如何读取configMap。

读取configMap

上篇文章没有把config.yaml文件的内容放出来,里面内容如下 

部署Chart应用并使用.net core读取Kubernetes中的configMap

其中metadata中的name是必选项,namespace不写的话默认是default,labels用于条件过滤筛选。

data就是我们的配置内容,key-value的形式存在。

------------------------------------------------分割线-----------------------------------------------------

.net core调用k8s需要使用KubeClient,这里我使用 https://github.com/tintoy/dotnet-kube-client 来调用k8s的接口。

直接使用nuget搜索KubeClient即可找到。

部署Chart应用并使用.net core读取Kubernetes中的configMap

KubeClient支持依赖注入。需要安装

KubeClient.Extensions.DependencyInjection

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwyyds.html