Kubernetes 使用环境变量引用命名空间
有人知道使用环境变量在values.yaml中引用命名空间的方法吗 例如,在映射一个秘密时Kubernetes 使用环境变量引用命名空间,kubernetes,jenkins-x,Kubernetes,Jenkins X,有人知道使用环境变量在values.yaml中引用命名空间的方法吗 例如,在映射一个秘密时 secret: # RabbitMQ password V_RABBIT_PASSWORD: secretKeyRef: name: jx-staging-rabbit //<--- this needs to work for staging and prod key: rabbitmq-password 及 谢谢我想这是你正在使用je
secret:
# RabbitMQ password
V_RABBIT_PASSWORD:
secretKeyRef:
name: jx-staging-rabbit //<--- this needs to work for staging and prod
key: rabbitmq-password
及
谢谢我想这是你正在使用jenkins-x部署的应用程序的掌舵图。头盔有一个您可以访问的值。因此,在deployment.yaml中,您可以使用
{{.Release.Namespace}
,尽管jx staging
也是发布的名称,所以{{.Release.name}
在这里同样适用。我希望这看起来像:
valueFrom:
secretKeyRef:
name: {{ .Release.Name }}-{{ .Values.rabbitmq.name }}
key: rabbitmq-password
其中,{.Values.rabbitmq.name}
等于rabbitmq
或您在requirements.yaml中称之为rabbitmq的任何内容。(例如,对于postgres,它也使用rabbit,但访问rabbit密码的方式不同。)
如果密码加载正确,但仍然存在密码问题,那么请确保设置了明确的密码值,否则可能会命中密码
{{.Release.Name}
的使用在values.yaml中不起作用,但我不确定您是否需要它,是否可以在deployment.yaml中使用它
(如果您确实需要从values.yaml访问函数,那么您需要在values.yaml和then中为字符串值创建一个条目。)secretKeyRef必须引用同一Kubernetes命名空间中的一个秘密,如果这是问题的话。谢谢。I获取
[ERROR]templates/:在“vehicle api/templates/deployment.yaml”中呈现错误:模板:vehicle api/templates/deployment.yaml。yaml:34:39:在:处执行“vehicle api/templates/deployment.yaml”:无法计算类型界面{}中的字段名
${NAMESPACE}-{{ $value.secretKeyRef.name | quote }}
{{ template "namespace" . }}-{{ $value.secretKeyRef.name | quote }}
valueFrom:
secretKeyRef:
name: {{ .Release.Name }}-{{ .Values.rabbitmq.name }}
key: rabbitmq-password