首页 文章

添加到postgres数据库外的keycloak k8s helm chart环境参数

提问于
浏览
0

我是Kubernetes和helm-charts的新手,并试图让Keycloak在Postgres中保存数据而不是在H2中(因为他默认情况下这样做) . Postgres将由单独的头盔图创建 . 首先我按命令创建Postgres:

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

然后我看一下新的Postgres服务“内部 endpoints ”参数 . 并尝试将此参数添加到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

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

1 回答

  • 2

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

相关问题