在gitlab autodevops中使用默认舵图时,如何将ConfigMap值传递为env变量 &



我是一个新手,刚刚开始使用giitlab的auto devops。

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

问题:

我如何读取现有的K8 ConfigMap条目作为环境变量到微服务,而不提供自定义舵图?ConfigMap是由其他进程在不同的名称空间中创建的

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

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

看看GitLab 15.6(十一月2022)是否可以帮助您的情况:

使用Auto Deploy图将ConfigMap挂载到卷上

默认的Auto Deploy Helm图现在支持extraVolumesextraVolumeMounts选项。

在过去的版本中,你只能为Kubernetes指定持久卷。

在其他用例中,您现在可以挂载:

  • 秘密和ConfigMaps作为文件到部署、CronJobs和worker。
  • 现有的或外部的持久卷对部署、CronJobs和worker的声明。
  • 使用hostPath挂载私有PKI CA证书,以实现与PKI的信任。

感谢Maik Boltze对社区的贡献。

请参阅文档和问题。

相关内容

  • 没有找到相关文章

最新更新