添加到外部Postgres数据库的keycloak k8s舵图环境参数

我是Kubernetes和helm-charts的新手,并且试图使Keygreak在Postgres中保存数据,而不是在H2中(因为他默认是这样做的)。 Postgres将由独立的掌舵图创build。 首先我通过命令创buildPostgres:

helm install --name=postgres-keycloak stable/postgresql 

然后我看看新的Postgres服务“内部端点”参数。 并试图将此参数添加到Keycloak的舵图。 这里是values.yaml部分:

 Service: Name: keycloak-new Port: 8080 Type: ClusterIP postgresAddr: postgres-keycloak-postgresql postgresPort: 5432 

然后在模板文件夹中添加到service.yaml:

 env: - name: POSTGRES_PORT_5432_TCP_ADDR value: "{{ .Values.Service.postgresAddr }}" - name: POSTGRES_PORT_5432_TCP_PORT value: "{{ .Values.Service.postgresPort }}" 

然后我用“helm package keycloak”命令创buildkeyclaok包,然后安装:

 helm install --debug --name=keycloak-new keycloak-0.1.0.tgz 

它失败,错误:

 [debug] Created tunnel using local port: '49927' [debug] SERVER: "localhost:49927" [debug] Original chart version: "" [debug] CHART PATH: /Users/user/helm-charts/keycloak-0.1.0.tgz Error: error validating "": error validating data: found invalid field env for v1.ServiceSpec 

谁知道我做错了什么? 或者我想念什么?

您的env应该声明为PodSpec的一部分(您可以在Pod,ReplicaSet,Deployment等对象中find),而不是在仅为您的stream量定义一种内部负载均衡器/路由器的服务中。