如何将部署的全名传递给helm values.yaml中的变量?

问题描述 投票:0回答:1

如何将依赖图表的fullname传递到values.yaml中的另一张图表?

我的values.yaml看起来像这样:

##
## Prisma chart configuration
##
prisma:
  enabled: true
  image:
    pullPolicy: Always
  auth:
    enabled: true
    secret: scret
  database:
    host: {{ template "postgresql.fullname" . }}
    port: 5432
    password: dbpass


##
## Postgreqsl chart configuration
##
postgresql:
  enabled: true
  imagePullPolicy: Always
  postgresqlUsername: prisma
  postgresqlPassword: dbpass
  persistence:
    enabled: true
    storageClass: storage-0

在那里,我需要将postgresql实例的名称传递给prisma

如果我尝试安装它,它会给我以下错误:

error converting YAML to JSON: yaml: invalid map key: map[interface {}]interface {}{"template \"postgresql.fullname\" .":interface {}(nil)}
kubernetes kubernetes-helm
1个回答
1
投票

如果您的图表看起来像:

charts
--- prisma
----- templates
------- prisma.yaml
----- values.yaml
--- postgresql
----- templates
------- postgresql.yaml
----- values.yaml
requirements.yaml
values.yaml

在prisma values.yaml中定义:

dbhost: defaultdbhost

然后你可以在全局values.yaml中定义:

prisma:
  dbhost: mydbhost

并进入prisma.yaml使用:

prisma:
  enabled: true
  image:
    pullPolicy: Always
  auth:
    enabled: true
    secret: scret
  database:
    host: {{ .Values.dbhost }}
    port: 5432
    password: dbpass

了解重写值read this document

© www.soinside.com 2019 - 2024. All rights reserved.