我是helm的新手,我希望能够使用配置映射和共享环境变量将gitlab项目变量写入文件。
我为每个环境(其中
MYSQL_USER_<ENV> = "user"
MYSQL_PASSWORD_<ENV> = "pass"
在舵图中,每个环境都有其变量的映射。例如,值。
envVars:
MYSQL_USER: $MYSQL_USER_<ENV>
MYSQL_PASSWORD: $MYSQL_PASSWORD_<ENV>
值。yaml包含一个Ruby文件,该文件将使用这些变量:
files:
config.rb: |
mysql['username'] = ENV["MYSQL_USER"]
mysql['password'] = ENV["MYSQL_PASSWORD"]
configmap.env.yaml定义:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "mychart.fullname" . }}-config-env
data:
{{- range $config_key, $config_value := .Values.envVars }}
{{ $config_key }}: {{ $config_value | quote | nindent 4 }}
{{- end }}
配置映射。文件夹。yaml定义:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "mychart.fullname" . }}-config-volume
data:
{{- range $file_path, $file_content := .Values.files }}
{{ $file_path }}: |
{{ $file_content | indent 4 -}}
{{- end }}
最后,配置映射的部署(这里只显示配置映射部分,我这里不使用机密,因为这个问题已经足够长了):
volumes:
- name: {{ include "mychart.fullname" . }}-config-volume
configMap:
name: {{ include "mychart.fullname" . }}-config-volume
containers:
- name: {{ .Chart.Name }}
volumeMounts:
- name: {{ include "mychart.fullname" . }}-config-volume
mountPath: /etc/my-config-dir
envFrom:
- configMapRef:
name: {{ include "mychart.fullname" . }}-config-env
因此,在一句话中,工作流应该是:
MYSQL\u用户/密码_
我似乎无法使环境变量成为值。yaml(
MYSQL\u USER
,MYSQL\u PASSWORD
)获取项目变量(MYSQL\u USER)的值_
我试图避免多个
--set
参数。我也不知道如何envsubst
可以在这里使用...
任何帮助将不胜感激,谢谢!
所以最终我使用了envsubst
:
script:
- VALUES_FILE=values.${ENV}.yaml
- envsubst < ${VALUES_FILE}.env > ${VALUES_FILE}
- helm upgrade ... -f ${VALUES_FILE}
问题内容: 在上面,这是硬代码。我想将 变量 分配 给值。即,均值=注册; 让我知道! 问题答案: 您的问题不是很清楚。我假设变量是在Servlet中声明的,因为在JSP中使用Java是一种不好的做法。为了能够在转发到JSP的Servlet之间共享变量,您需要将此变量设置为request属性: 然后在JSP中,您可以使用JSP EL获得“ registration”属性的值: 您应该阅读Java
问题内容: 我正在使用以下代码: 该值不警报。怎么了 问题答案: 实质上:
最佳实践最好在values.yaml文件中定义环境变量还是在templates/deployment.yaml放入中定义环境变量? 如果有您使用的示例应用程序,您能提供帮助吗?
当正在构建映像路径时,这就是我想要构建映像路径的方式,其中有docker注册表地址,我想要从ConfigMap获取它。 有没有关于如何使用头盔来解决这个问题的建议?谢谢
问题内容: 我正在尝试读取Firestore文档的值。我尝试了两种不同的方法,但是每种方法都失败了。在第一个中,在返回行上引发错误。我发现了发生这种情况的原因,因此,我实现了第二种方法。 在第二种方法中,我将分配给变量,然后在函数末尾返回该变量(请参见下面的代码)。但是,当我这样做时,该函数将返回一个空数组。让我惊讶的是,打印返回了正确的值,但是在函数执行了return语句后不久。是否因为它是异步
问题内容: 上面给我一个错误,即“一个”不存在。不能以这种方式分配吗?我想为列表中的每个var分配一个递增编号。 问题答案: Python变量是值的 名称 。他们并没有真正“包含”这些价值观。 导致“ var”成为列表中每个元素的名称。在循环内,它不会影响列表:相反,它将导致不再是list元素的名称,而是开始成为当前名称的名称。 同样,当你创建列表,如果,而不是已经为值的名字,那么你可以不使用它们