问题描述
我无法在 Minishift (v1.34.0+f5db7cb) 上启动 Keycloak (9.0.0) 并且崩溃循环回退 错误。此部署将与 Postgres 部署集成。
Keycloak Pod 日志:
/opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json(权限被拒绝)
这是我通过控制台 (oc apply -f
) 部署的 yaml 文件:
apiVersion: apps/v1
kind: Deployment
Metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 (0c01309)
creationTimestamp: null
labels:
io.kompose.service: keycloak
name: keycloak
spec:
selector:
matchLabels:
io.kompose.service: keycloak
replicas: 1
strategy: {}
template:
Metadata:
creationTimestamp: null
labels:
io.kompose.service: keycloak
spec:
containers:
- env:
- name: DB_ADDR
value: postgres
- name: DB_DATABASE
value: keycloak
- name: DB_PASSWORD
value: password
- name: DB_SCHEMA
value: public
- name: DB_USER
value: keycloak
- name: DB_vendOR
value: POSTGRES
- name: KEYCLOAK_LOGLEVEL
value: DEBUG
- name: KEYCLOAK_PASSWORD
value: Pa55w0rd
- name: KEYCLOAK_USER
value: admin
image: localhost:5000/keycloak
name: keycloak
ports:
- containerPort: 8080
- containerPort: 8443
resources: {}
restartPolicy: Always
status: {}
---
apiVersion: v1
kind: Service
Metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 (0c01309)
creationTimestamp: null
labels:
io.kompose.service: keycloak
name: keycloak
spec:
ports:
- name: "8880"
port: 8880
targetPort: 8080
- name: "8888"
port: 8888
targetPort: 8443
type: LoadBalancer
selector:
io.kompose.service: keycloak
有什么办法可以解决这个问题吗?提前致谢!
解决方法
keycloak-add-user.json
由 KEYCLOAK_HOME/bin/add-user-keycloak.sh
实用程序生成。 Keycloak 服务器在启动时会检查此文件是否存在,如果找到,将添加指定的用户。
反过来,Keycloak pod 在启动期间会解析是否存在用于创建用户的变量,例如 KEYCLOAK_USER
和 KEYCLOAK_PASSWORD
,如果存在,将使用这些参数调用 add-user-keycloak.sh
实用程序以创建用户。
因此,在您的情况下,您应该使 /opt/jboss/keycloak/standalone/configuration
目录可写。