首页 > 解决方案 > 在 gitlab autodevops 中使用默认 helm 图表时如何将 ConfigMap 值作为 env 变量传递

问题描述

我是一个新手,刚开始使用 gitlab 开箱即用的 auto devops 魔法。

我有一个非常基本的 Golang 微服务,我可以部署它——它使用开箱即用的默认 helm 图表(创建命名空间、服务、部署、docker 注册表管理),并且我提供自己的 Dockerfile 来构建 docker 映像。

问题:

如何在不提供自定义 helm 图表的情况下将现有的 K8 ConfigMap 条目作为环境变量读取到微服务?ConfigMap 是由其他进程在不同的命名空间中创建的

如何覆盖应该部署微服务的命名空间而不创建新的命名空间?我希望将多个微服务部署到同一个命名空间中——我不希望每个存储库都有不同的命名空间。

基本上我不想提供自定义 helm 图表,因为我认为如果我提供自定义图表,那么我还需要完成在 K8 集群上设置 docker 注册表的完整设置 - 我想避免这种情况,我想自定义我的应用程序组件、服务类型(我不想要 ClusterIP)、更改命名空间、将 configMap 引用为环境变量——无需为我的基于 golang 的基本微服务创建自定义 helm 图表。

标签: gitlab-cigitlab-autodevops

解决方案


推荐阅读