我试图弄清楚,什么是导入/导出K8S keycloak(版本3.3.0.CR1)的最佳实践。这里是keycloak官方页面import/export的解释,他们的例子导出到一个文件json。转到/keycloak/bin文件夹,并运行此:
./standalone.sh -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=singleFile -Dkeycloak.migration.file=keycloak-export.json
我登录pod,运行以下命令后出现错误:
12:23:32,045 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("core-service" => "management"),
("management-interface" => "http-interface")
]) - failure description: {
"WFLYCTL0080: Failed services" => {"org.wildfly.management.http.extensible" => "java.net.BindException: Address already in use /127.0.0.1:9990"},
"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
"Services that were unable to start:" => ["org.wildfly.management.http.extensible.shutdown"],
"Services that may be the cause:" => ["jboss.remoting.remotingConnectorInfoService.http-remoting-connector"]
}
}
正如我所看到的,Keycloak服务器运行在相同的端口,我运行备份脚本。这里helm/keycloak values.yml:
Service:
Name: keycloak
Port: 8080
Type: ClusterIP
Deployment:
Image: jboss/keycloak
ImageTag: 2.5.1.Final
ImagePullPolicy: IfNotPresent
ContainerPort: 8080
KeycloakUser: Admin
KeycloakPassword: Admin
那么,在我们运行这个脚本之前,服务器应该停止吗?我不能停止pod内部的keycloak进程,因为入口会关闭pod并创建一个新的。对于导出/导入(备份/恢复)数据的其他方法有什么建议吗?或者我错过了什么?
我甚至试过UI导入/导出。导出工作很好,我看到了所有的数据。但是导入工作了一半。他给我带来了所有的“客户端”,但没有我的“领域”和“用户联盟”。
2条答案
按热度按时间0lvr5msh1#
基本上,你只需要在与你的主示例不同的端口上启动导出Keycloak示例,我刚才用了这样的东西:
bin/standalone.sh -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=singleFile -Dkeycloak.migration.file=keycloak-export.json -Djboss.http.port=8888 -Djboss.https.port=9999 -Djboss.management.http.port=7777
最重要的是所有的端口,如果你得到更多的错误信息,你可能需要添加更多的属性(
grep port standalone/configuration/standalone.xml
是你的朋友,找出属性名称),但最后,所有的错误信息停止,你看到这个消息:09:15:26,550 INFO [org.keycloak.exportimport.singlefile.SingleFileExportProvider] (ServerService Thread Pool -- 52) Exporting model into file /opt/jboss/keycloak/keycloak-export.json [...] 09:15:29,565 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: Keycloak 3.2.0.Final (WildFly Core 2.0.10.Final) started in 12156ms - Started 444 of 818 services (558 services are lazy, passive or on-demand)
现在可以使用Ctrl-C停止服务器,退出容器,然后使用
kubectl cp
复制导出文件。2izufjch2#
导出功能随Quarkus发行版更改。
参见Documentation。
请注意,当启用InfinispanCache时,会出现一个错误。简言之,当尝试导出. Keycloak IssueBitnami Issue, with workaround时,缓存端口会被阻塞