我是 Kubernetes 和 helm-charts 的新手,并试图让 Keycloak 将数据保存在 Postgres 中而不是 H2 中(默认情况下他会这样做)。Postgres 将由单独的 helm chart 创建。首先我通过命令创建 Postgres:
helm install --name=postgres-keycloak stable/postgresql
然后我查看新的 Postgres 服务“内部端点”参数。并尝试将此参数添加到 Keycloak 的 helm-chart 中。这是 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”命令创建keyclaok包,并安装:
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
谁知道我做错了什么?或者我想念什么?